Java Axis 1.4 log4j-1.2.8.jar是否与XPages不兼容?

Java Axis 1.4 log4j-1.2.8.jar是否与XPages不兼容?,java,xpages,axis,lotus-domino,lotus,Java,Xpages,Axis,Lotus Domino,Lotus,我试图将ApacheAxis1.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.log

我试图将ApacheAxis1.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)
java.lang.RuntimeException:com.ibm.xsp.FacesExceptionEx:org.apache.commons.logging.LogConfigurationException:java.lang.reflect.InvocationTargetException
.    
.    
.    
.    
原因:java.lang.NoClassDefFoundError:org/apache/log4j/Logger
位于org.apache.commons.logging.impl.Log4JLogger(Log4JLogger.java:102)


有人有什么想法吗?

编辑

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

我建议使用比Axis更新的JAX-WS。不需要添加任何罐子。您还可以使用JAX-wsdl2java而不是Apache one

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

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

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

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

我建议使用比Axis更新的JAX-WS。不需要添加任何罐子。您还可以使用JAX-wsdl2java而不是Apache one

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

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

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

另一个选项是在代理中使用内置的Web服务功能,然后在XPage中调用该代理。感谢Panu和Simon。我正在通过CXF查看Stephan Wissel网站上详细介绍的JAX-WS:好的,谢谢你的指点,我想我就快到了。使用CXF中的wsdl2java创建存根类。用存根创建JAR并导入我的nsf中的WEB-INF/lib。更新了我的代码(存储在Java设计元素中)以使用新类。现在尝试从我的XPage调用web服务,我得到一个AccessControlException:HTTP JVM:java.security.AccessControlException:Access denied(java.lang.RuntimePermission setContextClassLoader)。大概我需要在某个地方更新一个安全设置以允许发出请求?更新我的答案,您需要授予java更多的访问权限。谢谢Panu。我已经将您的建议添加到java.policy文件中(并重新启动了http),但仍然收到相同的错误。我添加了如下权限:授予代码库“xspnsf://server:0/path/to/myapp.nsf/-{permission java.lang.RuntimePermission“setContextClassLoader”;permission java.lang.reflect.ReflectPermission“suppressAccessChecks”;}另一种选择是在代理中使用内置的Web服务功能,然后在XPage中调用该代理。谢谢Panu和Simon。我正在通过CXF查看Stephan Wissel网站上详细介绍的JAX-WS:好的,谢谢你的指点,我想我就快到了。使用CXF中的wsdl2java创建存根类。用存根创建JAR并导入我的nsf中的WEB-INF/lib。更新了我的代码(存储在Java设计元素中)以使用新类。现在尝试从我的XPage调用web服务,我得到一个AccessControlException:HTTP JVM:java.security.AccessControlException:Access denied(java.lang.RuntimePermission setContextClassLoader)。大概我需要在某个地方更新一个安全设置以允许发出请求?更新我的答案,您需要授予java更多的访问权限。谢谢Panu。我已经将您的建议添加到java.policy文件中(并重新启动了http),但仍然收到相同的错误。我添加了如下权限:授予代码库“xspnsf://server:0/path/to/myapp.nsf/-{permission java.lang.RuntimePermission“setContextClassLoader”;permission java.lang.reflect.ReflectPermission“suppressAccessChecks”;}