SOAP Request in Classic ASP

2019-09-07 09:13发布

问题:

I have the following simple Soap request code. (using classic ASP)

I've read many tutorials on consuming SOAP feeds in classic ASP, but none of them seem to work at all.

I try the following code:

soapEnvelope = _
            "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/""" &_ 
            "xmlns:etp=""https://test.mpay24.com/soap/etp/1.5/ETP.wsdl"">" &_ 
            "<soapenv:Header/>" &_ 
            "       <soapenv:Body>" &_ 
            "       <etp:SelectPayment>" &_ 
            "        <merchantID>XXXXXX</merchantID>" &_ 
            "        <mdxi>" &_ 
            "        &lt;Order&gt;" &_ 
            "        &lt;Tid&gt;cust9126&lt;/Tid&gt;>" &_ 
            "        &lt;Price&gt;10.00&lt;/Price&gt;" &_ 
            "        &lt;/Order&gt;" &_ 
            "        </mdxi>" &_ 
            "        </etp:SelectPayment>" &_ 
            "        </soapenv:Body>" &_ 
            "       </soapenv:Envelope>"

        Set SoapRequest = CreateObject("Microsoft.XMLHTTP")
        Set myXML  =Server.CreateObject("MSXML.DOMDocument") 
        myXML.Async=False 
        SoapRequest.Open "POST", "https://test.mpay24.com/app/bin/etpproxy_v15", False, "user", "password"

        SoapRequest.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
        sSOAPAction = "https://test.mpay24.com/soap/etp/1.5/ETP.wsdl" + "SelectPayment"
        SoapRequest.setRequestHeader "SOAPAction", sSOAPAction

        SoapRequest.send soapEnvelope 
        myResponseText = SoapRequest.responseText

responseText is: "SOAP-ENV:ClientMethod 'etp:SelectPayment' not implemented: method name or namespace not recognized"

I think my SoapRequest.setRequestHeader "SOAPAction" is false.