Paul Giles

Paul Giles

  • NA
  • 14
  • 0

WCF Header values changing

Dec 9 2013 9:30 AM
I have a .Net WCF service which I am testing with SoapUI version4.6.2. All is working but I have an issue that I just cannot get around at the moment.

I am using a password digest which adds a nonce and a created date. The passwordType is set to PasswordDigest.

So, when I make the call, these values are populated into the Soap Request as below.

<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: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-38"><wsse:Username>XXXXXXXXXXX</wsse:Username>                        <wsse:Password  Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">0OLlyLiaAjG+APSRFyHkWl8b5BQ=</wsse:Password>                         <wsse:Nonce  EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">wmI0VZSTAmrJ0ELQa7ybcQ==</wsse:Nonce>  <wsu:Created>2013-12-09T12:43:13.895Z</wsu:Created>       </wsse:UsernameToken>              </wsse:Security>       <urn:ESBMetaData>             <urn:OriginalServiceCallerID>xxxxxxxxxxxxxxxxxxxx</urn:OriginalServiceCallerID>       </urn:ESBMetaData>         <urn1:ESBContext  soapenv:mustUnderstand="1"> <urn1:BusinessContextType>xxxxxxxxxxxxxxxxxxxxxxxxxxxxx</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>



But the values for the
password, nonce and created date from with in the .Net WCF service are as
follows:

Username := XXXXXXXXXXXXXXXXXXXX
Password := drke/Qbzob5IY7KzmCBeb6q09ho=
Nonce := oZiTJpbiVrranub4F1Sjbw==
Created := 2013-12-09T12:43:35.320Z


The funny thing is thou, that if I call the service again, I get the following

<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-39"><wsse:Username>XXXXXXXXXXXXXXXXX</wsse:Username>
<wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest">drke/Qbzob5IY7KzmCBeb6q09ho=</wsse:Password>
<wsse:Nonce
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">oZiTJpbiVrranub4F1Sjbw==</wsse:Nonce>
<wsu:Created>2013-12-09T12:43:35.320Z</wsu:Created></wsse:UsernameToken></wsse:Security>
<urn:ESBMetaData


Which as you can see is holding the password nonce and created values that the .Net WCF program thought was the original call.

Must be something simple, but cannot see it. Any help?