使用Axis2客户端的自定义Mule云连接器

时间:2015-12-07 01:51:33

标签: mule axis2 mule-studio axiom

我为Mule开发了一个自定义云连接器。我使用Maven在IntelliJ中开发了它。我使用Axis2和XMLBeans从第三方WSDL生成代码。我开发了测试用例,在与Web服务交互后传递并显示预期结果。 " mvn clean package"成功通过所有测试并构建网站。

我遇到的问题是在构建Mule项目的任何点上使用它。我在启动应用程序时将Axis2 1.6.3库添加到Anypoint创建的jvm的类路径根目录中。当我提交与我的连接器交互的请求时,我收到以下错误:

        

消息:null(java.lang.ExceptionInInitializerError)。   消息有效内容的类型为:字符串类型:   org.mule.api.MessagingException代码:MULE_ERROR - 2   JavaDoc:   http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/MessagingException.html   有效负载:测试   ************************************************** ******************************异常堆栈是:   1. null(java.lang.NullPointerException)org.apache.axiom.locator.DefaultOMMetaFactoryLocator:72(null)   2. null(java.lang.ExceptionInInitializerError)org.apache.axis2.description.AxisDescription:72(null)   3. null(java.lang.ExceptionInInitializerError)。消息有效内容的类型为:String(org.mule.api.MessagingException)
  org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor:32   (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/MessagingException.html)   ************************************************** ******************************根异常堆栈跟踪:java.lang.NullPointerException at   org.apache.axiom.locator.DefaultOMMetaFactoryLocator。(DefaultOMMetaFactoryLocator.java:72)

查看DefaultOMMetaFactoryLocator,对于axiom-api1.2.14,我在第72行看到以下内容:

  

枚举e =   中ClassLoader.getResources(ImplementationFactory.DESCRIPTOR_RESOURCE);

静态引用是axiom.xml文件。我尝试手动添加文件但继续获取空指针错误。生成的代码使用此代码通过客户端建立连接,但不直接受我的代码影响。能否在Mule ESB的云连接器中使用Axis2,是否有一些我缺少的东西?为什么它会在maven测试中起作用而不是在任何一点上起作用?

其他信息:

Axis2 1.6.3 公理* 1.2.14 骡子ESB 3.7

1 个答案:

答案 0 :(得分:0)

该错误表示Axiom由JVM的引导程序类加载器加载。我怀疑这是在Anypoint上部署内容的推荐方法。