私はapache cxfを使用してjax-wsクライアントを作成しています。 私は春のテキストの構成に苦しんでいます。 私に必要なのは、私のSOAP要求にこのヘッダーを追加することです:UsernameTokenを、パスワード、ログイン:私は3つのパラメータを持っているjax-wsリクエストでセキュリティヘッダーを追加する方法
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken wsu:Id="usernametoken">
<wsse:Username>login</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
。
<jaxws:client id="***" name="***"
endpointName="***"
serviceName="***"
address="***"
serviceClass="***"
username="***"
password="***"
xmlns:tns="***">
</jaxws:client>
上記のコードは動作し、セキュリティヘッダーは送信されません。 ヘッダーを追加する方法を教えてください。
こんにちは、なぜユーザーをチェックする必要がありますか?このコードはクライアント側ですか?サーバー側のこのコードのように見えます。私はエンドポイントを設定していないので、セキュリティーヘッダーを追加してSOAPリクエストを送信したいだけです – rastaman
このコードはクライアント側向けです(jax-ws:clientタグを参照)。アウトインターセプタは、ヘッダーを追加するために送信される前に出力をインターセプトします。 spring設定が気に入らなければ、最後のjavaの例を使用してください。たぶんあなたはパスワードを提供するのに奇妙な方法を見つけたかもしれませんが、それはCXFのデフォルトです – pedrofb