I have been meaning to mention how cool and informative the info is in the WSE3 trace files. Not only does it show you the soap, but leaves a step by step trail of processing. Here is a sample file from a simple HelloWorld request being made from a client using a UsernameoverX09 policy asserstion.
<?xml version=”1.0″ encoding=”utf-8″?>
<log>
<outputMessage utc=”9/23/2005 7:04:53 PM”>
<processingStep description=”Unprocessed message”>
<soap:Envelope xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema“>
<soap:Body>
<HelloWorld xmlns=”http://tempuri.org/” />
</soap:Body>
</soap:Envelope>
</processingStep>
<processingStep description=”Entering soap filter Microsoft.Web.Services3.Design.UsernameOverCertificateAssertion+ClientOutputFilter” />
<processingStep description=”Exited soap filter Microsoft.Web.Services3.Design.UsernameOverCertificateAssertion+ClientOutputFilter” />
<processingStep description=”Processed message”>
<soap:Envelope xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:wsa=”http://schemas.xmlsoap.org/ws/2004/08/addressing” 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:Header>
<wsa:Action wsu:Id=”Id-3055d475-5038-45ae-9909-d7feb1241b7b”>http://tempuri.org/HelloWorld</wsa:Action>
<wsa:MessageID wsu:Id=”Id-bc312d98-8815-4c65-a015-2cf87409140c”>uuid:80c57c6f-7226-49a6-95ba-51c160841d30</wsa:MessageID>
<wsa:ReplyTo wsu:Id=”Id-d3c52946-1153-4ef6-85df-4e80506bb0a2″>
<wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
</wsa:ReplyTo>
<wsa:To wsu:Id=”Id-047058e6-d0e9-4592-8d10-2df4cd13d976″>http://localhost:1624/WSE3_Demo2_Service/Service.asmx</wsa:To>
<wsse:Security soap:mustUnderstand=”1″>
<wsu:Timestamp wsu:Id=”Timestamp-71acb0d5-9d5c-4d6d-beba-585045011528″>
<wsu:Created>2005-09-23T19:04:53Z</wsu:Created>
<wsu:Expires>2005-09-23T19:09:53Z</wsu:Expires>
</wsu:Timestamp>
<xenc:EncryptedKey Id=”SecurityToken-2eb49508-1d19-4dc8-ac98-df6037e4dce3″ xmlns:xenc=”http://www.w3.org/2001/04/xmlenc#”>
<xenc:EncryptionMethod Algorithm=”http://www.w3.org/2001/04/xmlenc#rsa-1_5” />
<KeyInfo xmlns=”http://www.w3.org/2000/09/xmldsig#”>
<wsse:SecurityTokenReference>
<wsse:KeyIdentifier ValueType=”http://docs.oasis-open.org/wss/2004/xx/oasis-2004xx-wss-x509-token-profile-1.1#X509ThumbprintSHA1” EncodingType=”http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary”>h9ksyrcUww2w4LrmubC2W11t988=</wsse:KeyIdentifier>
</wsse:SecurityTokenReference>
</KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>(this goes on for a while…) Udj=</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedKey>
<wssc:DerivedKeyToken wsu:Id=”SecurityToken-a4ae21b8-bdab-4011-a7b2-c5e8f65bae44″ Algorithm=”http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1” xmlns:wssc=”http://schemas.xmlsoap.org/ws/2005/02/sc“>
<wsse:SecurityTokenReference>
<wsse:Reference URI=”#SecurityToken-2eb49508-1d19-4dc8-ac98-df6037e4dce3″ ValueType=”http://docs.oasis-open.org/wss/2005/xx/oasis-2005xx-wss-soap-message-security-1.1#EncryptedKey” />
</wsse:SecurityTokenReference>
<wssc:Generation>0</wssc:Generation>
<wssc:Length>16</wssc:Length>
<wssc:Label>WS-SecureConversationWS-SecureConversation</wssc:Label>
<wssc:Nonce>0waVpgMtJcwLe6nu2EJfWA==</wssc:Nonce>
</wssc:DerivedKeyToken>
<xenc:ReferenceList xmlns:xenc=”http://www.w3.org/2001/04/xmlenc#”>
<xenc:DataReference URI=”#EncryptedData-95a05b43-87ff-4265-8220-0b0301998d5c” />
</xenc:ReferenceList>
<xenc:ReferenceList xmlns:xenc=”http://www.w3.org/2001/04/xmlenc#”>
<xenc:DataReference URI=”#EncryptedData-474cdefc-1a57-4848-9d3b-195021ac5f88″ />
</xenc:ReferenceList>
<xenc:EncryptedData Id=”EncryptedData-474cdefc-1a57-4848-9d3b-195021ac5f88″ Type=”http://www.w3.org/2001/04/xmlenc#Element” xmlns:xenc=”http://www.w3.org/2001/04/xmlenc#”>
<xenc:EncryptionMethod Algorithm=”http://www.w3.org/2001/04/xmlenc#aes128-cbc” />
<KeyInfo xmlns=”http://www.w3.org/2000/09/xmldsig#”>
<wsse:SecurityTokenReference>
<wsse:Reference URI=”#SecurityToken-a4ae21b8-bdab-4011-a7b2-c5e8f65bae44″ ValueType=”http://schemas.xmlsoap.org/ws/2005/02/sc/dk” />
</wsse:SecurityTokenReference>
</KeyInfo>
<xenc:CipherData>
<xenc:CipherValue> (this goes on for a while…) =</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
<wssc:DerivedKeyToken wsu:Id=”SecurityToken-ef9f2efd-b777-4288-9a93-f7b24b9eb083″ Algorithm=”http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1” xmlns:wssc=”http://schemas.xmlsoap.org/ws/2005/02/sc“>
<wsse:SecurityTokenReference>
<wsse:Reference URI=”#SecurityToken-2eb49508-1d19-4dc8-ac98-df6037e4dce3″ ValueType=”http://docs.oasis-open.org/wss/2005/xx/oasis-2005xx-wss-soap-message-security-1.1#EncryptedKey” />
</wsse:SecurityTokenReference>
<wssc:Generation>0</wssc:Generation>
<wssc:Length>16</wssc:Length>
<wssc:Label>WS-SecureConversationWS-SecureConversation</wssc:Label>
<wssc:Nonce>+G94xbAd/DYLEKwIvHIdTA==</wssc:Nonce>
</wssc:DerivedKeyToken>
<Signature xmlns=”http://www.w3.org/2000/09/xmldsig#”>
<SignedInfo>
<ds:CanonicalizationMethod Algorithm=”http://www.w3.org/2001/10/xml-exc-c14n#” xmlns:ds=”http://www.w3.org/2000/09/xmldsig#” />
<SignatureMethod Algorithm=”http://www.w3.org/2000/09/xmldsig#hmac-sha1” />
<Reference URI=”#SecurityToken-6d4fff15-de0b-449d-ab5e-47ac5f5b4592″>
<Transforms>
<Transform Algorithm=”http://www.w3.org/2001/10/xml-exc-c14n#” />
</Transforms>
<DigestMethod Algorithm=”http://www.w3.org/2000/09/xmldsig#sha1” />
<DigestValue>XOXZQd6B320w7VI/HbimntQgLI0=</DigestValue>
</Reference>
<Reference URI=”#Id-3055d475-5038-45ae-9909-d7feb1241b7b”>
<Transforms>
<Transform Algorithm=”http://www.w3.org/2001/10/xml-exc-c14n#” />
</Transforms>
<DigestMethod Algorithm=”http://www.w3.org/2000/09/xmldsig#sha1” />
<DigestValue>1kE5FH5eNF4vkBKNE9o0/vCJvks=</DigestValue>
</Reference>
<Reference URI=”#Id-bc312d98-8815-4c65-a015-2cf87409140c”>
<Transforms>
<Transform Algorithm=”http://www.w3.org/2001/10/xml-exc-c14n#” />
</Transforms>
<DigestMethod Algorithm=”http://www.w3.org/2000/09/xmldsig#sha1” />
<DigestValue>t/FJbUnIn0gLqoLt6eMRTFOTI/Q=</DigestValue>
</Reference>
<Reference URI=”#Id-d3c52946-1153-4ef6-85df-4e80506bb0a2″>
<Transforms>
<Transform Algorithm=”http://www.w3.org/2001/10/xml-exc-c14n#” />
</Transforms>
<DigestMethod Algorithm=”http://www.w3.org/2000/09/xmldsig#sha1” />
<DigestValue>9QxbDw3l7++M8PbJMur9JxcPf4c=</DigestValue>
</Reference>
<Reference URI=”#Id-047058e6-d0e9-4592-8d10-2df4cd13d976″>
<Transforms>
<Transform Algorithm=”http://www.w3.org/2001/10/xml-exc-c14n#” />
</Transforms>
<DigestMethod Algorithm=”http://www.w3.org/2000/09/xmldsig#sha1” />
<DigestValue>9l1Au73puBn71S7N/1XIBe2vRSY=</DigestValue>
</Reference>
<Reference URI=”#Timestamp-71acb0d5-9d5c-4d6d-beba-585045011528″>
<Transforms>
<Transform Algorithm=”http://www.w3.org/2001/10/xml-exc-c14n#” />
</Transforms>
<DigestMethod Algorithm=”http://www.w3.org/2000/09/xmldsig#sha1” />
<DigestValue>Ys2mZfoq7z+Ix/XyIYWTIDUvm28=</DigestValue>
</Reference>
<Reference URI=”#Id-8d5987f2-3dd0-41aa-8dc5-5551bc171011″>
<Transforms>
<Transform Algorithm=”http://www.w3.org/2001/10/xml-exc-c14n#” />
</Transforms>
<DigestMethod Algorithm=”http://www.w3.org/2000/09/xmldsig#sha1” />
<DigestValue>PkZhQS+mXa/s8BC0x09fp7BOeB8=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>tJZfFrgNccXPYc91i41uHxdrzXk=</SignatureValue>
<KeyInfo>
<wsse:SecurityTokenReference>
<wsse:Reference URI=”#SecurityToken-ef9f2efd-b777-4288-9a93-f7b24b9eb083″ ValueType=”http://schemas.xmlsoap.org/ws/2005/02/sc/dk” />
</wsse:SecurityTokenReference>
</KeyInfo>
</Signature>
</wsse:Security>
</soap:Header>
<soap:Body wsu:Id=”Id-8d5987f2-3dd0-41aa-8dc5-5551bc171011″>
<xenc:EncryptedData Id=”EncryptedData-95a05b43-87ff-4265-8220-0b0301998d5c” Type=”http://www.w3.org/2001/04/xmlenc#Content” xmlns:xenc=”http://www.w3.org/2001/04/xmlenc#”>
<xenc:EncryptionMethod Algorithm=”http://www.w3.org/2001/04/xmlenc#aes128-cbc” />
<KeyInfo xmlns=”http://www.w3.org/2000/09/xmldsig#”>
<wsse:SecurityTokenReference>
<wsse:Reference URI=”#SecurityToken-a4ae21b8-bdab-4011-a7b2-c5e8f65bae44″ ValueType=”http://schemas.xmlsoap.org/ws/2005/02/sc/dk” />
</wsse:SecurityTokenReference>
</KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>(this goes on for a while…) ==</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
</soap:Body>
</soap:Envelope>
</processingStep>
</outputMessage>
</log>
Posted from BLInk!
Sign up for my newsletter so you don't miss my conference & Pluralsight course announcements!