【发布时间】:2014-02-15 07:36:19
【问题描述】:
我遇到了一个场景,我必须让一个基于 Axis2 的 ws 消费者在 WebMethods 中作为 Java 服务工作。我首先在 netbeans 中实现了 ws 消费者,只是为了看看它是否有效,因此我发现我需要的最小罐子数量如下:
[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]
我已将这些 jar 文件上传到 IS/packages/{package_name}/code/jars 文件夹下。每当我尝试执行将发送请求并处理响应的 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。
【问题讨论】:
-
看起来您在 netbeans 中的代码编译使用了与您的部署环境不同的公理 jar。所以请检查你的部署环境和netbeans的类路径是否相同。
标签: java axis2 webservice-client webmethods