Most probably repeated somewhere, but cannot find it, anyway, I have created a WCF service and am receiving a Soap Envelope from a Java client.
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wssu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>username</wsse:Username>
<wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">
weY3InXd8LjMNVksCKFV8t3rgHh3Rw==
</wsse:Password>
<wsse:Nonce>WScanqjCEAC4mQoBE07sAQ==</wsse:Nonce>
<wssu:Created>2012-04-16T01:24:32Z</wssu:Created>
</wsse:UsernameToken>
</wsse:Security>
<urn:ESBMetaData>
<urn:OriginalServiceCallerID>MyApplication</urn:OriginalServiceCallerID>
</urn:ESBMetaData>
<urn1:ESBContext soapenv:mustUnderstand="1">
<urn1:BusinessContextType>MyApplication-FunctionName</urn1:BusinessContextType>
<urn1:BusinessContextInstanceId>uuid:7dc57353-9069-442d-8b69-163f676dd3e3</urn1:BusinessContextInstanceId>
<urn1:ServiceRequestId>uuid:7dc57353-9069-442d-8b69-163f676dd3e3</urn1:ServiceRequestId>
</urn1:ESBContext>
</soapenv:Header>
As you can see, the header:
ESBContext soapenv:mustUnderstand="1"
This header needs to be processed. I have created an IDispatchMessageInspector class to check the headers, which is working, all of the headers can be seen in the AfterReceiveRequest function, but when the BeforeSendReply function is called, the Java client fails because I have not set the ESBContext header to show that I have processed it.
How, or where is the attribute set to show that the header has been processed?
Any help on this please.
Paul.