我遇到了一个场景,我必须让一个基于 Axis2 的 ws 消费者在 WebMethods 中作为 Java 服务工作。我首先在 netbeans 中实现了 ws 消费者,只是为了看看它是否有效,因此我发现我需要的最少 jar 数量如下:
[xmlschema-1.4.7.jar,apache-mime4j-core-0.7.2.jar,axiom-api-1.2.13.jar,axiom-impl-1.2.13.jar,axis2-adb-1.6.2.jar ,axis2-kernel-1.6.2.jar,axis2-transport-http-1.6.2.jar,axis2-transport-local-1.6.2.jar,commons-codec-1.3.jar,commons-httpclient-3.1.jar , commons-logging-1.1.1.jar, httpcore-4.0.jar, mail-1.4.jar, neethi-3.0.2.jar, wsdl4j-1.6.2.jar ]
我已经在 IS/packages/{package_name}/code/jars 文件夹下上传了这些 jar 文件。每当我尝试执行将发送请求并处理响应的 java 服务时,我都会收到以下异常:
java.lang.reflect.InvocationTargetException:org.apache.axiom.om.OMFactory.getMetaFactory()Lorg/apache/axiom/om/OMMetaFactory;
从IS错误日志文件中我发现实际的错误信息如下:
org.apache.axiom.om.OMFactory.getMetaFactory()Lorg/apache/axiom/om/OMMetaFactory; 引起:java.lang.reflect.InvocationTargetException: null 引起:java.lang.NoSuchMethodError:org.apache.axiom.om.OMFactory.getMetaFactory()Lorg/apache/axiom/om/OMMetaFactory;
平台为Linux环境下的WebMethods 8.2。JDK版本为1.6.0_32,WebMethods下的应用服务器为Jetty。