2016-10-13 14 views
0

SOAPエンベロープアクションヘッダーが私が期待したものでない理由を理解しようとしています。私はWSO2ESBを呼び出して、別のWCFサービスと通信しています。 NTLMmediatorを使用してバックエンドサービスを認証しています。WSO2ESB:SOAPアクションヘッダーが応答時に期待どおりでない

私の入力トランザクションは、私は私のメディエータが実行された後、私の仲介者の中から、私のプロキシサービスにログインするから、エンベロープの値から、それを書くとき、私の取引がどのように見えるか、この

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> 
    <s:Header> 
     <a:Action s:mustUnderstand="1">http://www.mycompany.com/services/GetProductsByCustomerNbr</a:Action> 
     <a:MessageID>urn:uuid:448cb5ec-b2d8-4292-b245-5b0d42c0e52a</a:MessageID> 
     <a:ReplyTo> 
      <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address> 
     </a:ReplyTo> 
     <a:To s:mustUnderstand="1">https://hapq-vpwebtran1.afcorp.afg/AnnuityWebService/VpasAnnuityServiceAdaptor.svc/windows</a:To> 
     <o:Security s:mustUnderstand="0" 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>2016-10-10T20:57:42.292Z</u:Created> 
       <u:Expires>2016-10-14T21:02:42.292Z</u:Expires> 
      </u:Timestamp> 
      <o:UsernameToken u:Id="uuid-83e06bc8-c659-4ddc-845a-de86f0dd19f8-1"> 
       <o:Username>JoeTest</o:Username> 
       <o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">JoeTest</o:Password> 
      </o:UsernameToken> 
     </o:Security> 
    </s:Header> 
    <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
     Transaction body 
    </s:Body> 
</s:Envelope> 

のように見えます。 GetProducesByCustomerNbrResponse

私のワイヤログに以下であるように見える何
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing"> 
    <s:Header> 
     <a:Action s:mustUnderstand="1">http://www.mycompany.com/services/GetProductsByCustomerNbrResponse</a:Action> 
     <a:RelatesTo>urn:uuid:448cb5ec-b2d8-4292-b245-5b0d42c0e52a</a:RelatesTo> 
    </s:Header> 
    <s:Body xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
     Transation body 
    </s:Body> 
</s:Envelope> 

:これは私がするアクションの値をexepectものです。あなたは、アクションは、私が入力トランザクションアクションと出力しないからアクションを見ていますなぜ私は理解していない今GetProductsByCustomerNbr代わりのGetPRoductsByCustomerNbrResponse

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing"> 
    <s:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"> 
     <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" s:mustUnderstand="true"> 
      <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Timestamp-1"> 
       <wsu:Created>2016-10-13T22:49:45.858Z</wsu:Created> 
       <wsu:Expires>2016-10-13T22:54:45.858Z</wsu:Expires> 
      </wsu:Timestamp> 
     </wsse:Security> 
     <wsa:MessageID>urn:uuid:d5677050-3ce7-4f11-a269-83c626967b39</wsa:MessageID> 
     <wsa:Action>http://www.mycompany.com/services/GetProductsByCustomerNbr</wsa:Action> 
    </s:Header> 
    <s:Body xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
     Transation body 
    </s:Body> 
</s:Envelope> 

で見ることができます。私は紛失しているか正しく行っていないものがあると確信していますが、私はそれを見つけるのに苦労しています。誰かが思考を持っているか、正しい方向に私を指すことができるなら、私はそれを感謝します。私が提供してくれなかった情報があれば、私に知らせてください。私はそれを投稿します。

答えて

1

この機能を利用するには、プロキシにプロパティを追加する必要がありました。以下は私が追加しなければならない2つのプロパティです。 ESBは、既存のWS-Addressingのヘッダ

<property name="disableAddressingForOutMessages" scope="axis2" value="true"/> 
<property name="PRESERVE_WS_ADDRESSING" scope="default" value="true"/> 
に変更することなく、それを転送するように、ESBは

PRESERVE_WS_ADDRESSING送信メッセージにWS-Addressingのヘッダを追加していなかったよう

disableAddressingForOutMessages

関連する問題