2016-08-01 10 views
1

Mule 3.7でSOAPヘッダをカスタマイズしようとしています。デフォルトでは、私は次のように取得するのWebサービス・コンシューマーを使用して:Mule 3.7。 WebサービスコンシューマにカスタムSOAPヘッダを追加する

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
<SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> 
    <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" soap:mustUnderstand="1"> 
     <wsse:UsernameToken wsu:Id="UsernameToken-6CF0E33EE8AA1E3DB414700278333141"> 
      <wsse:Username>TEST/wsse:Username> 
      <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"/> 
     </wsse:UsernameToken> 
    </wsse:Security> 
</SOAP-ENV:Header> 

はしかし、私はあることをSOAPヘッダーを変更したい:

ミュールにIを行う
<soap:Header> 
<Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> 
    <UsernameToken> 
     <Username>TEST</Username> 
    </UsernameToken> 
</Security> 

以下を追加する必要がありますか?

<set-property propertyName="soap.Authorization" 
value="<auth>Bearer MWYxMDk4ZDktNzkyOC00Z</auth>"/> 

以下は、ws:consumer-configの下に追加する必要がありますか?

<ws:consumer-config name="WSConsumerConfig" wsdlLocation="${wsdl.location}" 
service="aService" port="aServiceHttpPort" serviceAddress="${service.url}" 
connectorConfig="HTTPRequestConfig" doc:name="Web Service Consumer"> 

答えて

2

私は、WS-消費者への呼び出しの前に、メッセージ・プロパティ・トランスを追加することによって修正した:

<message-properties-transformer doc:name="Message Properties"> 
       <add-message-property key="soap.header" value="${web.service.username.token}"/> 
      </message-properties-transformer> 
+0

キーと値がここに渡す必要がありますされているもの? – bekur

+0

@bekur、keyはここでは関係ありません。あなたが渡したxml文字列であれば、header要素の下に同じ内容が追加されます。 – Sachin

関連する問題