如果你有一个连接到SAP后端的portal或JEE应用程序,知道这个连接是否有效是很重要的,更重要的是知道它为什么不起作用。在下面的示例中,我正在开发一个KM应用程序,它使用一个来自SAP的DMS存储库管理器连接到一个SAP ABAP后端。代码在使用/documents作为存储库时工作,但在使用DMSRM条目路径时失败。
日志没有太大帮助,因为它只显示连接失败。
错误消息包含更多信息,但仍然没有显示连接失败的原因。
这可以追溯到SAP连接器框架的错误,但在试图找出到底发生了什么时却毫无帮助。它失败了,但究竟在哪里,为什么是不可见的。门户环境中的系统使用SAPLOGONTICKET为SSO配置,当连接测试运行或在KM中调用存储库时,SSO工作正常。由于错误发生在CF部分,因此最好从那里看到日志消息。显然,物联网操作系统,只显示错误消息。但是我已经知道发生了一个错误,这个日志消息没有什么用处。
因此,最好增加CF的日志级别,看看是否记录了调试消息。sapnetweaverjava提供了一个强大的日志记录和跟踪框架,可以使用NWA进行访问和配置。更改会立即反映出来,使使用此工具更加容易。现在的问题是:日志存储在哪里?
从日志消息中可以看到,关于云服务器,CF类的包是com.saportals.connectors连接器.
要知道使用哪个类名将日志写入,很难访问源代码。使用NWA中的日志配置可以搜索类。搜索连接器会发现以下类。
作为一个ABAP系统,R3类是一个很好的预感。将日志级别设置为Debug.
再次调用Java类的方法会显示更多的日志消息:
有一条错误消息,欧洲云服务器,实际提示什么不起作用。展开此项显示正在发生的情况。
由于缺少参数用户ID,无法建立连接。当SAP门户环境中的ABAP系统配置为使用SSO并且正在工作时,DMSRM存储库管理器在使用SSO时出现问题。似乎尝试了faultback用户ID登录。当然,淘客返利系统,这不起作用,因为没有为系统配置用户/密码映射。
在门户环境中更改系统以使用用户id映射解决了问题。现在KM应用程序可以连接了。
由于日志消息的数量急剧增加,解决问题后应该将日志级别重置为默认值。
嗨,Tobias,
很好的文章,谢谢分享。
我最喜欢的工具之一,用于识别NW7.0x和NW7.3x中的JCo问题:
SSO测试Url NW 7.0x
:端口:/irj/servlet/prt/portal/prt/com.sap.portal网站.连接测试仪.测试连接
注785029-用于测试从入口到R/3的连接的工具系统
NW 7.3x
:端口:/irj/servlet/prt/portal/prt/com.sap.portal网站.connectivity.tester.Test\连接
关于日志记录,我们必须始终记住小心地增加日志记录级别和范围(日志记录所涵盖的分支),什么是大数据技术,因为我在过去曾因为范围太广而将日志设置为高而导致系统崩溃。