Estoy intentando llamar a un servicio web .Net desde ASP clásico utilizando SOAP. He creado el siguiente código como prueba y sigo obteniendo un cuerpo de respuesta vacío con un error de 400 solicitudes erróneas. ¿Estoy haciendo algo mal o podría este problema estar en el lado .Net?Cómo llamar a un método de servicio web .Net desde ASP clásico utilizando SOAP
'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
Vaya. Veo el XML mal formateado con la etiqueta soap12 que no coincide con la etiqueta final SOAP. Pero, eso no importa. Es correcto en la versión real de mi código sin buenos resultados. – crackedcornjimmy
¿Qué tipo (y formato) es ' ' y coincide con lo que obtienes de 'Now()'? –
Filburt