Mule 用のカスタム クラウド コネクタを開発しました。Mavenを使用してIntelliJで開発しました。Axis2 と XMLBeans を使用して、サードパーティの WSDL からコードを生成しました。Web サービスとの対話後に合格し、期待される結果を示すテスト ケースを開発しました。「mvn clean package」はすべてのテストに合格し、サイトをビルドします。
私が抱えている問題は、いつでも Mule プロジェクトを構築する際に使用することです。アプリケーションの起動時に Anypoint によって作成された jvm のクラスパス ルートに Axis2 1.6.3 ライブラリを追加しました。コネクタとやり取りするリクエストを送信すると、次のエラーが発生します。
メッセージ: 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)。メッセージ ペイロードのタイプ: 文字列 (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)
axiom-api1.2.14 の DefaultOMMetaFactoryLocator を見ると、72 行目に次のように表示されます。
列挙 e = classLoader.getResources(ImplementationFactory.DESCRIPTOR_RESOURCE);
静的参照は axiom.xml ファイルに対するものです。ファイルを手動で追加しようとしましたが、引き続きヌル ポインター エラーが発生します。このコードは、クライアントを介して接続を確立するために生成されたコードによって使用されますが、私のコードによって直接影響を受けることはありません。Mule ESB の Cloud Connector 内で Axis2 を使用できることに関して、私が見逃していることはありますか? Maven テストでは機能するのに、どの時点でも機能しないのはなぜですか?
追加情報:
Axis2 1.6.3 Axiom* 1.2.14 Mule ESB 3.7