I'm working on project where a SoapClient is sending my server a RequestSecurityToken request from a .NET environment.
Normally this request would go to a .NET WCF service and the WCF service would return the RequestSecurityTokenReponse accordingly.
I'm using a LAMP environment for the server side and wanted to find out if there's a WSDL for RequestSecurityToken / RequestSecurityTokenResponse or if someone has a copy of the Envelop that contain the RequestSecurityTokenResponse. Therefore, I'll be able to format the return data from my server correctly when returning it to the client.
Also in the RequestSecurityToken request there is a BinarySecret, do I need to use that to create the Security Token on my server before I return it to the client.
Here's the Envelope that I'm receiving the SoapClient:
<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://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT</a:Action>
<a:MessageID>urn:uuid:3c574ae0-51fd-4013-82fb-70763c0d0cee</a:MessageID>
<a:ReplyTo>
<a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
</a:ReplyTo>
<a:To s:mustUnderstand="1">/a:To>
<o:Security xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" s:mustUnderstand="1">
<u:Timestamp u:Id="_0">
<u:Created>2021-12-01T17:35:15.623Z</u:Created>
<u:Expires>2021-12-01T17:40:15.623Z</u:Expires>
</u:Timestamp>
<o:UsernameToken u:Id="uuid">
<o:Username>xxx</o:Username>
<o:Password>xxx</o:Password>
</o:UsernameToken>
</o:Security>
</s:Header>
<s:Body>
<t:RequestSecurityToken xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust">
<t:TokenType>http://schemas.xmlsoap.org/ws/2005/02/sc/sct</t:TokenType>
<t:RequestType>http://schemas.xmlsoap.org/ws/2005/02/trust/Issue</t:RequestType>
<t:Entropy>
<t:BinarySecret u:Id="23323" Type="http://schemas.xmlsoap.org/ws/2005/02/trust/Nonce">3433433</t:BinarySecret>
</t:Entropy>
<t:KeySize>256</t:KeySize>
</t:RequestSecurityToken>
</s:Body>
</s:Envelope>
Related
I need a little guide please. An external application will send to my webapp several times a day this info (push in my application). My app is developed in php with symfony3 as framework).
The information I will receive will be something like this (soap definition):
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header/>
<soap:Body>
<RoomRateListUpdRequest>
<RoomRateListUpdRQ Language="es" Version="1">
<Login User="hdynastic" Password="Dynastic2017" HotelCode="1">
</Login>
<RoomRateListUpd>
<Contracts>
<Contract id="104595" DateFrom="2019-08-03" DateTo="2019-08-03">
<Rates>
<Rate DateFrom="2019-08-03" DateTo="2019-08-03">
<Rooms>
<Room RoomTypeID="440">
<Allotments>
<Allotment AllotmentDate="2019-08-03" IsAvailable="true">98</Allotment>
</Allotments>
</Room>
</Rooms>
</Rate>
</Rates>
</Contract>
</Contracts>
</RoomRateListUpd>
</RoomRateListUpdRQ>
</RoomRateListUpdRequest>
</soap:Body>
</soap:Envelope>
What kind of webservice should I create to read this type of information? How to listen & receive this soap definition?
Thank you very much for any help provided!
I am in the process of developing process to communicate with the Unique Student Identifier (USI) Webservice. I have a Vanguard token, courtesy of some nice (SoapClient avoiding) code by Sergey Vidusov (thanks!) and I'm trying to use the contents of that token in my (also SoapClient avoiding) SOAP request to the USI service. I am using the "example security header" from the V2.0 Technical Services contract (P79) as a template and trying to fill in the blanks from the token and despite a few dozen slightly varied iterations, I constantly get:
An error occurred when verifying security for the message.
in the SOAP fault section of the response. I won't be surprised to learn that I am going about this the wrong way, but I am, for the moment out of ideas.
From the token, I am taking the Binary Secret and using it as the Signature value and the SecurityTokenReference->KeyIdentifier as the KeyIdentifier in my request. I've also copied the entire EncryptedAssertion section from the token in to the request.
My (supposedly valid) XML is like
<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://usi.gov.au/ws/2015/VerifyUSI</a:Action>
<a:MessageID>urn:uuid-594a3e4f2c463</a:MessageID>
<a:ReplyTo>
<a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
</a:ReplyTo>
<a:To s:mustUnderstand="1"> http://usi.gov.au/ws/2015/VerifyUSI </a:To>
<o:Security s:mustUnderstand="1"
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>2017-06-21T09:37:19.000Z</u:Created>
<u:Expires>2017-06-21T10:37:19.000Z</u:Expires>
</u:Timestamp>
<EncryptedAssertion
xmlns="urn:oasinametc:SAML:2.0:assertion">
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element" xmlnxenc="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"/>
<KeyInfo
xmlns="http://www.w3.org/2000/09/xmldsig#">
<EncryptedKey xmlne="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p">
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
</EncryptionMethod>
<KeyInfo>
<SecurityTokenReference xmlno="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<X509Data>
<X509IssuerSerial>
<X509IssuerName>CN=Australian Government Notary Services OCA, OU=For Development purposes ONLY, OU=Australian Authentication and Notary Services, O=Australian Government, C=AU</X509IssuerName>
<X509SerialNumber>137894267415199651126496945754681728351</X509SerialNumber>
</X509IssuerSerial>
</X509Data>
</SecurityTokenReference>
</KeyInfo>
<CipherData>
<CipherValue>Bc30iHzG4b9ypeC0q8+wvCRox6jTplCg4hKMUpNAXhmhzQyCfFgb3ROihGMB6wLb1moTT/+WpxsMljpeBTKu3oYo8anxwQQf6921Sz7lJCGUrWWMg9IZxq9qEfE85DBqo7tuhs7qkpHlgsUEC/D3IMRycze7x2wJphs6AFBtNDZwVogrQNyp76AUVCGqMSy7EA5woNOuPZqYYHWUDU7/Lv9Jzp6ccOwYXpmnwsW7dMecN6sJbZeopCNf9FuVHS0OJi/l7uadi3VDwRJuiPEB09tETvYNZpUDf/BFQPnHyuWfrjj4nRUKEQx9KcE092+z23n2M8PQmuuEAyRAOnWGNg==</CipherValue>
</CipherData>
</EncryptedKey>
</KeyInfo>
<CipherData>
<CipherValue>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</CipherValue>
</CipherData>
</EncryptedData>
</EncryptedAssertion>
<Signature
xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></CanonicalizationMethod>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"></SignatureMethod>
<Reference URI="#_0">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></Transform>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod>
<DigestValue>3d5GbpTJJ2uX3t4fJz3oT3TuaUA=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>3zexIO6yp7PTD1M7H7BD3rURd2Yj35ELKRSSuLqVHso=</SignatureValue>
<KeyInfo>
<o:SecurityTokenReference k:TokenType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1"
xmlns:k="http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd">
<o:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID">_ef36244c-da95-47ed-9abf-ddce3c85edd1</o:KeyIdentifier>
</o:SecurityTokenReference>
</KeyInfo>
</Signature>
</o:Security>
</s:Header>
<s:Body>
<soap:Body
xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<u:VerifyUSI
xmlns:u="http://usi.gov.au/2015/ws">
<u:OrgCode>970003</u:OrgCode>
<u:USI>ABCDEFGHJK</u:USI>
<u:FirstName>John</u:FirstName>
<u:FamilyName>Smith</u:FamilyName>
<u:DateOfBirth>1971-12-01</u:DateOfBirth>
</u:VerifyUSI>
</soap:Body>
</s:Body>
I feel I am close ... but just need another clue to propel me forward
I just ran your XML through an online XML validator at http://www.xmlvalidation.com, and it says XML document structures must start and end within the same entity.. Looking at your XML (and this might just be a screwed copy paste to SO), it appears you don't have a closing tag for </s:Envelope>.
Add that first if it isn't there. If it is, you'll need to look in your PHP error_log and get the real error message and stack trace so you can debug a little further.
I have following xml file that I have to send as request to a Soap service from a SoapClient in php. I used the SoapVar to create array to sending request but the respond node is not present there. Anyone please , can you help me to convert this xml to array to make request to consume the Soap service
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns4:Send xmlns:ns4="hidden" xmlns="Envelope" xmlns:ns2="hidden" xmlns:ns3="hidden">
<ns4:Pack>
<Envelope>
<Header>
<ID>string</ID>
<StringFirst>string</ns2:StringFirst>
</Header>
<Payload xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns3:SmsMessage">
<ns3:fieldOne>true</ns3:DeliveryReports>
<ns3:fieldTwo xsi:type="ns3:hidden">
<ns3:fieldThree></ns3:ApplicationNumber>
</ns3:fieldTwo>
<ns3:SomeFiled xsi:type="ns3:hidden">
<ns3:number>123</ns3:number>
</ns3:SomeField>
<ns3:Content xsi:type="ns3:hidden">
<ns3:Text>String</ns3:Text>
</ns3:Content>
</Payload>
</Envelope>
</ns4:Pack>
</ns4:Send>
</S:Body>
</S:Envelope>
Thank you in advance
I'm building a PHP application that needs to connect to a webservice which requires a header in every request for authentication. How to send the following along with the requests? Do I need to use SoapHeader along with SoapClient?
<soap:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="Id-0001334008436683-000000002c4a1908-1"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>[username]</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-
token-profile-1.0#PasswordText">[password]</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
The SOAP envelope has the following structure:
So, you should send a SOAP envelope that has both a Header (like the one you described) and a Body that contains the request itself.
I think you should be using setSoapHeaders on the Client. Refer to the examples in the link.
Hope this helps. Good luck!
I'm using PHP's SoapClient to connect to a webservice (which is out of my control). One of the SoapFaults I'm receiving is as follows (formatted for readability):
<?xml version="1.0" encoding="UTF-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<Infolog xmlns="Infolog" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<InfologMessage xmlns="http://schemas.datacontract.org/2004/07/Microsoft.Dynamics.AX.Framework.Services">
<InfologMessageType>Error</InfologMessageType>
<Message>Customer 6729 not found.</Message>
</InfologMessage>
</Infolog>
</s:Header>
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring xml:lang="en-US">Request Failed. See the Exception Log for details.</faultstring>
<detail xmlns:s="http://www.w3.org/2003/05/soap-envelope">
<AifFault xmlns="http://schemas.microsoft.com/dynamics/2008/01/documents/Fault" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<CustomDetailXml i:nil="true" />
<FaultMessageListArray i:nil="true" />
<InfologMessageList xmlns:b="http://schemas.datacontract.org/2004/07/Microsoft.Dynamics.AX.Framework.Services" i:nil="true" />
<StackTrace i:nil="true" />
<XppExceptionType>3</XppExceptionType>
</AifFault>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
When PHP throws the SoapFault exception, the message is the Request Failed. See the Exception Log for details. as would be expected. But what I really need is the Infolog entry from the Header. Is there any way to retrieve the Header params, other than calling __getLastResponse() and parsing the entire XML myself, which seems very clunky?
I am open to switching client libraries if that will do it - I've so far tried with the native PHP SoapClient and Zend\Soap\Client