ServerXMLHTTP + Invalid XML
Hola,
Tengo una aplicativo ASP que se comunica con un CGI externo. A este CGI le tengo que pasar un XML y el me devuelve otro XML con la respuesta de la operación.
Estoy enviando un xml por el método POST usando el objeto XMLHTTP de ASP y el CGI donde mando este xml me dice que esta mal formado.
En cambio si este XML lo envío desde un formulario tb usando el método POST el CGI me dice que esta bien formado el XML.
Creo que el problema esta en la línea de objHTTP.setRequestHeader debe ser por algún tema de codificación.
<code><%
xml = ""
xml = "<?xml version=""1.0"" encoding=""iso-8859-1""?>"
xml = xml & "<test>"
xml = xml & "<user>xxxx</user> "
xml = xml & "<password>xxxxx</password> "
xml = xml & "</test>"
Response.ContentType = "text/html"
Set objHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP")
url = "http://url+xxxx.cgi"
body = xml
username = ""
password = ""
objHTTP.open "POST", url, False, username, password
objHTTP.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
objHTTP.send body
auxXML = objhttp.responseText
set objHTTP = nothing
%>
<br>
XML RECIBIDO<br>
<textarea cols="100" rows="10"><%=auxXML%></textarea></code>
He buscado por internet y no logro encontrar la solución...
kenavik
ivanrodriguez
He solucionado el problema. La cosa era que el CGI necesitaba recibir por el método POST el contenido del XML en una variable llamada XML y yo en ningun momento asignaba el XML generado a la variable XML. Y al hacer el request de la variable XML por el método POST no devolvía nada ya que como lo tenía montado la variable XML no existía y el CGI no podía procesar nada y por lo tanto me daba el error de XML mal formado.
He tenido que cambiar siguiente línea
<code>body = xml </code>
por esta..
<code>body = "xml=" & xml </code>
Ahora si funciona correctamente..
saludos
kenavik