要件
wsdl を持つ Web サービスを呼び出す必要があり、ブラウザーからは開かない。
ダミーのエンドポイントが指定された wsdl ドキュメントがあります。
スタブ クラスなどが生成されたら、実行時にエンド ポイントを変更する必要があります。SOAP メッセージにヘッダーを追加するサードパーティ メソッドを呼び出す必要があります。このメソッドは SOAP メッセージのみを受け入れます。このメソッドは、フローに追加する必要がある SoapHandler から呼び出す必要があります。
私は次のすべてを試しました
Axis 2
このサービスは Axis2 でうまく動作しますが、ハンドラー内の AxisMesage にしかアクセスできず、SOAP メッセージにはアクセスできないため、サードパーティのメソッドを呼び出すことができず、失敗します。
Axis 1.4 サービスはうまく機能し、サードパーティ メソッドの呼び出しに使用できる SOAP メッセージにアクセスできます。
Apache CXF、JAX-WS など
wsdl が利用できないため、新しい wsdl エンドポイントでサービス クラスを初期化するか、bindingProvider を介してエンドポイントを設定すると、サービスを呼び出すことができない例外がスローされます。
質問
Axis 1.4 は古いので、近づかないという意見が一般的です。
Axis 2 は、AxisMessage の問題を除けば問題ありません。Axis に追加したハンドラーで SoapMessage にアクセスする方法はありますか。追加できるハンドラーは Axis2 ハンドラーのみです
CXF と JAX-WS では、 SoapMessage を持つジェネリック ハンドラーを追加できますが、サービス クラスが初期化されるか、BindingProvider で設定されると失敗します。
任意の提案
感謝
チャーリー