SOAPを使用して従来のASPから.Net Webサービスを呼び出そうとしています。私はテストとして次のコードをビルドし、400 Bad Requestエラーで空のreponsebodyを取得しています。間違ったことをやっているのですか。この問題は.Net側にあるのでしょうか?SOAPを使用して従来のASPから.Net Webサービスメソッドを呼び出す方法
'set up xmlhttp to checkout server
Dim oRequest
Set oRequest = Server.CreateObject("MSXML2.ServerXMLHTTP")
'setting this option will allow ServerXMLHTTP to ignore the certificate errors it encounters.
oRequest.setOption(2) = SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS
' resolve, connect, send, receive - in milliseconds
oRequest.setTimeouts 10000, 10000, 10000, 10000
'set the URL
msURL = "[redacted]"
msSOAP = "<?xml version=""1.0"" encoding=""utf-8"" ?>"
msSOAP = msSOAP & "<soap12:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap12=""http://www.w3.org/2003/05/soap-envelope"">"
msSOAP = msSOAP & "<SOAP:Body>"
msSOAP = msSOAP & "<[Some Service] xmlns=""http://localhost"">"
msSOAP = msSOAP & "<MethodName>"
msSOAP = msSOAP & "<methodParam1>[some value]</methodParam1>"
msSOAP = msSOAP & "<methodParam2>[some value]</methodParam2>"
msSOAP = msSOAP & "<methodParam3>[some value]</methodParam3>"
msSOAP = msSOAP & "</MethodName>"
msSOAP = msSOAP & "</[Some Service]>"
msSOAP = msSOAP & "</SOAP:Body>"
msSOAP = msSOAP & "</soap12:Envelope>"
oRequest.Open "POST", msURL, False
oRequest.setRequestHeader "Content-Type", "text/xml"
oRequest.setRequestHeader "SOAPMethodName", "[MethodName]"
oRequest.setRequestHeader "SOAPAction", "[Some Url]"
oRequest.send msSOAP
Response.Write oRequest.ResponseBody
私はSOAPエンドタグと一致しないsoap12タグを持つフォーマットの悪いXMLを見る。しかし、それは問題ではありません。実際のバージョンのコードでは良い結果が得られません。 – crackedcornjimmy
' 'のタイプとフォーマットは' Now() 'のものと一致しますか? –
Filburt