我为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
答案 0 :(得分:0)
该错误表示Axiom由JVM的引导程序类加载器加载。我怀疑这是在Anypoint上部署内容的推荐方法。