| Below is a simple example that demonstrates how SOAP works.  *3Essentials is not responsible for whether this code works or whether it is suitable for your purposes.  1.  Create a file called client.asp.  Place the below content in the file.  Change the sURL variable to match your website.  Enter as www.domain.com for example.  Do not use HTTP or  leading/trailing back slashes (/\) <% Dim objHTTPDim strEnvelope
 Dim strReturn
 Dim objReturn
 Dim dblTax
 Dim strQuery
 
 sURL = "soap.ntforl.com"
 
 set objHTTP = server.CreateObject("Microsoft.XMLHTTP")
 set objReturn = server.CreateObject("Microsoft.XMLDOM")
 'Create the SOAP Envelope
 strEnvelope = _
 "<SOAP:Envelope xmlns:SOAP=""urn:schemas-xmlsoap-org:soap.v1"">" & _
 "<SOAP:Header></SOAP:Header>" & _
 "<SOAP:Body>" & _
 "<m:GetSalesTax xmlns:m=""urn:myserver/soap:TaxCalculator"">" & _
 "<SalesTotal>100</SalesTotal>" & _
 "</m:GetSalesTax>" & _
 "</SOAP:Body>" & _
 "</SOAP:Envelope>"
 
 response.write "SOAP Envelope is:<br><br>" & strEnvelope & "<br><br>"
 
 'Set up to post to our local server
 objHTTP.open "post", "http://" & sURL & "/soap.asp", False
    'Set a standard SOAP/ XML header for the content-typeobjHTTP.setRequestHeader "Content-Type", "text/xml"
    'Set a header for the method to be calledobjHTTP.setRequestHeader "SOAPMethodName", _
 "urn:myserver/soap:TaxCalculator#GetSalesTax"
    'Make the SOAP callobjHTTP.send strEnvelope
    'Get the return envelopestrReturn = objHTTP.responseText
    'Load the return envelope into a DOMobjReturn.loadXML strReturn
    'Query the return envelopestrQuery = _
 "SOAP:Envelope/SOAP:Body/m:GetSalesTaxResponse/SalesTax"
 dblTax = objReturn.selectSingleNode(strQuery).Text
    response.write "SOAP Return Value is:  <br><br>" & dblTax %>     2.  Create another file called soap.asp.  Place the below content in the file. <% Set objReq = Server.CreateObject("Microsoft.XMLDOM") 'Load the request into XML DOMobjReq.Load Request
 'Query the DOM for the input parameterstrQuery = "SOAP:Envelope/SOAP:Body/m:GetSalesTax/SalesTotal"
 varSalesTotal = objReq.SelectSingleNode(strQuery).Text
 'Calculate the sales taxvarSalesTax = varSalesTotal * 0.04
 'Prepare the return envelopestrTmp = _
 "<SOAP:Envelope xmlns:SOAP=""urn:schemas-xmlsoap-org:soap.v1"">" & _
 "<SOAP:Header></SOAP:Header>" & _
 "<SOAP:Body>" & _
 "<m:GetSalesTaxResponse xmlns:m=""urn:myserver/soap:TaxCalc"">" & _
 "<SalesTax>" & varSalesTax & "</SalesTax>" & _
 "</m:GetSalesTaxResponse>" & _
 "</SOAP:Body>" & _
 "</SOAP:Envelope>"
 'Write the return envelopeResponse.Write strTmp
 %>
 3.  Upload both files to your website 4.  launch a browser and point to the client.asp file.  You will see the SOAP Envelope post to the soap.asp page and display a return value. |