問題タブ [cxf-codegen-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
561 参照

java - CXF : org.apache.cxf.interceptor.Fault: 呼び出し中の引数の数が間違っています

apache cxf と codegen maven プラグイン (どちらもリリース 3.1.11) を使用して単純なクライアントを実装しています。

これが私のサンプル wsdl です。

クライアント エンドポイントを変更する必要があるため、cxf.frontend 機能を使用することにしました。シンプルなクライアントを作成し、API を使用してアドレス プロパティを設定しました。コードは次のとおりです。

次に、ユニット テスト内でサービス (codegen プラグインによって作成されたサービス) を呼び出します。

しかし、ソープ障害 org.apache.cxf.binding.soap.SoapFault: wrong number of arguments while invoking public void it.test.cxf.impl.New_Port_0SoapImpl.openTk を受け取ります。

問題は org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor 内にあり、特にこのインターセプターがメソッド getHelperWrapper を使用して WrapperHelper クラスを作成するときに発生することがわかりました。次に、このラッパーを使用して、codegen プラグイン (createWrapperObject(objs);) によって作成された ObjectFactory を使用してオブジェクトを作成します。これにより、すべてのフィールドがヌルの新しい InputMappin1 オブジェクトが生成されます。

誰かが私にこの振る舞いと、これを回避する方法を説明できますか? ある種のカスタム インターセプターを実装する必要がありますか、それとも構成が不足していますか?