Problemas de acceso a wsdl con MSXML2.XMLHTTP

11/12/2004 - 20:03 por andrea | Informe spam
Hola!

El problema q tengo es q no puedo hacerlo de la forma q
tu dices, ya q no puedo se me permite instalar nada.

Si m podrías decir a q t refieres con "enviar un
requerimiento web en formato SOAP a mano" es q es la
única alternativa q tengo.

Otra duda q tengo es q ns si tengo q utilizar el wsdl o
el asmx.

Si sabes d algún sitio donde puedo ver un ejemplo t lo
agradecería
Gracias por todo!
 

Leer las respuestas

#1 pablo crosio
13/12/2004 - 16:23 | Informe spam
hola!

"enviar un requerimiento web en formato SOAP a mano" seria enviar el mensaje
SOAP en formato RAW, es decir armar a partir del WSDL el requerimiento
HTTP-POST...
pero, como te mencione, hacer esto a mano, es una tarea engorrosa
justamente lo que hace el cliente SOAP toolkit es eso inferir del WDSL el
armado de los mensajes SOAP para cada operacion definida...
si lo vas a hacer asi tenes que conocer muy bien de WSDL, es decir que
signifca cada cosa que esta en el XML que expone el WSDL
no soy un experto en el tema y tampoco encontre mucho en internet sobre
algo que devuelva directamente el formato RAW SOAP para el requerimiento de
una operacion y su respuesta a partir del WSDL..
de todas formas, lo que se me ocurre que podrias hacer es utilizar el SOAP
ToolKit para enviar las operaciones y usar algun interceptor de mensajes (el
mismo toolkit trae uno) para capturar lo que se envia en formato RAW
luego podrias armar un envio vos con la info obtenida...

te paso un ejemplo del metodo GetListas que define el web services que estas
mencionando, con XMLHTTP, los otros metodos deberias inferirlos vos, pero
como te dije es engorroso y seria como reinventar la rueda

ademas otra cosa, la respuesta tampoco viene traducida... cosa que si hace
el ToolKit, sino que tambien viene en formato RAW...

ejemplo GetListas (sacado de lo que genera el soap toolkit):

s = "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""no""?>" & _
"<SOAP-ENV:Envelope xmlns:SOAPSDK1=""http://www.w3.org/2001/XMLSchema""
xmlns:SOAPSDK2=""http://www.w3.org/2001/XMLSchema-in...uot;"
xmlns:SOAPSDK3=""http://schemas.xmlsoap.org/soap/enc...uot;"
xmlns:SOAP-ENV=""http://schemas.xmlsoap.org/soap/env...>" & _
"<SOAP-ENV:Body
SOAP-ENV:encodingStyle=""http://schemas.xmlsoap.org/soap/enc...>" & _
"<SOAPSDK4:GetListas xmlns:SOAPSDK4=""http://tempuri.org/message/""/>" & _
"</SOAP-ENV:Body>" & _
"</SOAP-ENV:Envelope>"

Set x = Server.CreateObject("MSXML2.XMLHTTP")
x.open "POST", "http://webservices.mug.org.ar/motor.WSDL", False
x.setRequestHeader "Content-Type", "text/html; charset=utf-8"
x.setRequestHeader "SOAPAction",
"http://tempuri.org/action/Motor.GetListas"
x.send s
r = x.responseText

en r queda la respuesta

salu2!!

pablo


"andrea" escribió:

Hola!

El problema q tengo es q no puedo hacerlo de la forma q
tu dices, ya q no puedo se me permite instalar nada.

Si m podrías decir a q t refieres con "enviar un
requerimiento web en formato SOAP a mano" es q es la
única alternativa q tengo.

Otra duda q tengo es q ns si tengo q utilizar el wsdl o
el asmx.

Si sabes d algún sitio donde puedo ver un ejemplo t lo
agradecería
Gracias por todo!


Preguntas similares