Visual Basic - Enviar XML a unCGI

Life is soft - evento anual de software empresarial
 
Vista:

Enviar XML a unCGI

Publicado por kenavik (2 intervenciones) el 28/03/2007 12:03:27
Hola,

Estoy haciendo un aplicativo en VB en el que tengo que enviar un XML a un CGI externo.Este CGI procesa el XML que yo lo envío y me devuelve otro XML con la respuesta de la operación realizada. El problema es que el CGI remoto me dice que el XML ESTA MAL FORMADO. En cambio si envío este XML al CGI remoto desde un formulario de ASP el CGI me dice que el XML esta correcto.

Os dejo el código por si alguien sabe la solución a este problema que tengo. La variable url debe contener la url del CGI pero por motivos de seguridad no la pongo en este post.

Private Sub CmdSendXML_Click()

Dim xml As String
Dim url As String
Dim user, pass As String
xml = ""
xml = "<?xml version=""1.0"" encoding=""iso-8859-1""?>"
xml = xml & "<get_new_incoming_mo>"
xml = xml & "<user>xxxxx</user> "
xml = xml & "<password>xxxxx</password> "
xml = xml & "</get_new_incoming_mo>"
url = "xxxxxxx"
MsgBox xml
MsgBox httpPOST(url, xml, "", "")
End Sub



Public Function httpPOST( _
url As String, body As String, _
username As String, _
password As String) As String
Dim http As New MSXML2.XMLHTTP40

http.open "POST", url, False, username, password
http.setRequestHeader _
"Content-Type", _
"application/x-www-form-urlencoded"
http.send body
httpPOST = http.responseText
End Function

saludos,

kenavik
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Enviar XML a unCGI

Publicado por kenavik (2 intervenciones) el 28/03/2007 19:02:59
he encontrado la solución..

El problema era que no asignaba el xml a la variable que me pedia el CGI.
línea --> httpPOST(url, "xml="& xml, "", "")
***************************************************************************************
Private Sub CmdSendXML_Click()

Dim xml As String
Dim url As String
Dim user, pass As String
xml = ""
xml = "<?xml version=""1.0"" encoding=""iso-8859-1""?>"
xml = xml & "<get_new_incoming_mo>"
xml = xml & "<user>xxxxx</user> "
xml = xml & "<password>xxxxx</password> "
xml = xml & "</get_new_incoming_mo>"
url = "xxxxxxx"
MsgBox xml
MsgBox httpPOST(url, "xml="& xml, "", "")
End Sub


Public Function httpPOST( _
url As String, body As String, _
username As String, _
password As String) As String
Dim http As New MSXML2.XMLHTTP40

http.open "POST", url, False, username, password
http.setRequestHeader _
"Content-Type", _
"application/x-www-form-urlencoded"
http.send body
httpPOST = http.responseText
End Function
*************************************************************************************
saludos,

kenavik
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar