Java/Axisクライアントで消費されているusernameToken認証を持つWCF4サービスを開発しました。WCF応答のMustUnderstand属性により、Java/Axisクライアントでエラーが発生する
私はリクエストのボディは、このようなルックスに来ていることがわかります...
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<wss:Security xmlns:wss="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wss:UsernameToken>
<wss:Username>username</wss:Username>
<wss:Password>password</wss:Password>
</wss:UsernameToken>
</wss:Security>
</soapenv:Header>
<soapenv:Body>
{snipped}
</soapenv:Body>
</soapenv:Envelope>
、我々はこのようなルックスを戻ってきている応答...
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<s:Header>
<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<u:Timestamp u:Id="_0">
<u:Created>2012-05-02T01:23:12.711Z</u:Created>
<u:Expires>2012-05-02T01:28:12.711Z</u:Expires>
</u:Timestamp>
</o:Security>
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
{snipped}
</s:Body>
</s:Envelope>
問題がありますレスポンスでs:mustUnderstand = "1"属性。これにより、Java/Axisクライアントで「確認が失敗しました」というエラーが発生しています。
誰かがこのs:mustUnderstand属性を削除するためにWCFを設定する方法を知っているか、少なくとも「1」ではなく「0」に設定していますか?
は、このヘルプのでしょうか? http://stackoverflow.com/questions/3551738/how-to-modify-a-wcf-message-headers-mustunder-using-clientinspector – Chris
セキュリティ設定は何ですか?タイムスタンプを設定から削除すると、問題が解決する可能性があります。そうしないと、カスタムメッセージエンコーダーを実装してヘッダーを変更する必要があります。 –