【问题标题】:Axis 1.4 log4j-1.2.8.jar incompatible with XPages?Axis 1.4 log4j-1.2.8.jar 与 XPage 不兼容?
【发布时间】:2013-01-30 14:28:10
【问题描述】:

我正在尝试将 Apache Axis 1.4 中的一些 JAR 添加到 WebContent/WEB-INF/lib 目录中。其中一个 JAR 是 log4j-1.2.8.jar

只要将此 JAR 添加到 lib 目录,NSF 中的所有 XPage 就会停止工作。我只是收到错误 500 并显示以下消息:

“HTTP Web 服务器:命令未处理异常”。

以下消息被写入错误日志:

java.lang.RuntimeException: com.ibm.xsp.FacesExceptionEx: org.apache.commons.logging.LogConfigurationException: java.lang.reflect.InvocationTargetException
.    
.    
.    
.    
Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:102)

Link to full stack trace

有人有什么想法吗?

【问题讨论】:

    标签: java xpages axis lotus-domino lotus


    【解决方案1】:

    已编辑

    AXIS jar 包含在 Domino 安装中,因为 Domino Web 服务使用它们。这就是为什么如果你也包括它们会发生冲突。

    我建议使用比 Axis 更新的 JAX-WS。 Here is how to use it for Web Service client。无需添加任何 JAR。您也可以使用 JAX-WS wsdl2java 而不是 Apache。

    需要在 java.policy 文件中授予这两个权限才能使其工作:

    permission java.lang.RuntimePermission "setContextClassLoader";
    permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
    

    请注意,任何类型的服务器更新(例如修复包安装)都会将 java.policy 文件重置为默认值。

    【讨论】:

    • 另一种选择是在代理中使用内置的 Web 服务功能,然后在 XPage 中调用该代理。
    • 感谢帕努和西蒙。我正在通过 CXF 查看 JAX-WS,详见 Stephan Wissel 的网站:wissel.net/blog/d6plinks/SHWL-8SUKV5
    • 好的,谢谢你的指点,我想我快到了。使用来自 CXF 的 wsdl2java 创建存根类。从存根中创建 JAR 并导入到我的 nsf 中的 WEB-INF/lib 中。更新了我的代码(存储在 Java 设计元素中)以使用新类。现在尝试从我的 XPage 进行 Web 服务调用并得到 AccessControlException: HTTP JVM: java.security.AccessControlException: Access denied (java.lang.RuntimePermission setContextClassLoader)。大概我需要在某处更新安全设置以允许发出请求?
    • 更新了我的答案,您需要授予 java 更多访问权限。
    • 谢谢帕努。我已将您的建议添加到 java.policy 文件(并重新启动 http),但我仍然遇到相同的错误。我添加的权限如下: grant codeBase "xspnsf://server:0/path/to/myapp.nsf/-" { permission java.lang.RuntimePermission "setContextClassLoader";权限 java.lang.reflect.ReflectPermission "suppressAccessChecks"; }
    猜你喜欢
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-11
    • 2016-08-26
    • 2016-12-23
    相关资源
    最近更新 更多