Apache CXF(wsdl2java)を使用してJavaでSOAPクライアントを実装しました。私はカスタムヘッダーブロックで石鹸ヘッダーを拡張するように求められています。これは、ヘッダはのようになります方法です:WS-SecurityやWS-Addressingのは場所にすでにあるSOAPヘッダー内にカスタムヘッダーブロックを追加します。
、私は(例えばWSS4JOutInterceptor)このためにCXFでの組み込み機能を使用しています。
カスタムブロックは、このような構造にする必要があります。
<customHeader xmlns:func="http://...." xmlns="http://....">
<customElement>
<customValue>....</customValue>
</customElement>
</customHeader>
私はカスタムヘッダブロックを追加するかどうかはわかりません。私はここで行うには、正確にはよく分からないが
public class CustomHeaderInterceptor extends AbstractSoapInterceptor {
public CustomHeaderInterceptor() {
super(Phase.WRITE);
getAfter().add(WSS4JOutInterceptor.class.getName());
}
@Override
public void handleMessage(SoapMessage message) throws Fault {
....
}
}
:私はAbstractSoapInterceptorの実装で探しています。私はまた、message.getHeaders()が空であることに気付きました。私もPhase.SENDを試しました。ヘッダーリストはまだ空です。ヘッダーの順序は、上記のとおりである必要があります。私は間違ったトラックにいますか?この権利を取得する方法についてのご意見は高く評価されます。