PDA

Ver la Versión Completa : llamar un Delphi web services desde ASP


SpyO_O
11-09-2008, 15:30:21
Hola a todos, segui un exelente tutorial acerca de como crear un web service en delphi, http://eliseogn.wordpress.com/2008/08/02/6/ funciona perfecto.
Ahora mi pregunta es, ¿Como puedo llamar a estos Web services desde ASP?

Gracias

egostar
11-09-2008, 15:36:40
Hola a todos, segui un exelente tutorial acerca de como crear un web service en delphi, http://eliseogn.wordpress.com/2008/08/02/6/ funciona perfecto.
Ahora mi pregunta es, ¿Como puedo llamar a estos Web services desde ASP?

Gracias

Hola

Puedes verlo desde el blog de nuestro amigo jhonny, gracias por tomarte el tiempo de leer mi blog y por supuesto el comentario que dejaste ;)

http://jhonny.clubdelphi.com/?p=46

Salud OS

SpyO_O
11-09-2008, 15:52:55
Gracias por responder,
Olvide aclarar en mi primer mensaje que necesitaba hacerlo en ASP clasico.
O bien que el codigo pueda modificarlo manualmente sin depender de algun RAD, mi intencion es incluirlo en un sitio web que ya esta en ASP.
gracias.

__hector
25-09-2008, 15:34:09
Si vas a usar ASP clasico tendrias que escribir una libreria en VB6 en la que armes el mensaje SOAP y lo envies usando un socket HTTP al servidor, recibir la respuesta (xml) y consumir el resultado.

En asp clasico no existen las clases 'proxy' que hacen el binding automatico entre la respuesta al mensaje SOAP y algun objeto o estructura, ni tampoco la facilidad de generar los stubs para llamar a los metodos del webservice automaticamente.

Claro esta, aunque es algo un poco mas incomodo de hacer, no es imposible. Busca en google como enviar requests soap con vb6 y seguro encuentras algun buen ejemplo.

SpyO_O
25-09-2008, 15:46:44
Gracias por responder,
te comento que tengo resuleto el tema y no fue nada extraña la resolucion, solo enviando un comando post al web services, me retorno la respuesta correcta.


abajo el codigo ASP que me dio la solucion:
vXML es la variable donde voy armando el POST.

Para ello copie la forma que hacia el envio del cliente escrito en delphi al mismo web services y modifque para que se ajuste con parametros variables:



.
.
.
.
vURL="http://localhost/ws/wstrip.dll"
vXML="<?xml version=""1.0""?>"& vbCrLf
vXML=vXML & "<SOAP-ENV:Envelope xmlns:SOAP-ENV=""http://schemas.xmlsoap.org/soap/envelope/""" & vbCrLf
vXML=vXML & "xmlns:xsd=""http://www.w3.org/2001/XMLSchema""" & vbCrLf
vXML=vXML & "xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance""" & vbCrLf
vXML=vXML & "xmlns:SOAP-ENC=""http://schemas.xmlsoap.org/soap/encoding/"">" & vbCrLf
vXML=vXML & "<SOAP-ENV:Body SOAP-ENV:encodingStyle=""http://schemas.xmlsoap.org/soap/encoding/"">" & vbCrLf
vXML=vXML & "<NS1:GetTimeTrip xmlns:NS1=""urn:wsTimeTripIntf-IwsTimeTrip"">" & vbCrLf
vXML=vXML & "<vDep xsi:type=""xsd:string"">"& vDepA &"</vDep>" & vbCrLf
vXML=vXML & "<vArr xsi:type=""xsd:string"">"& vArrA &"</vArr>" & vbCrLf
vXML=vXML & "<vH xsi:type=""xsd:string"">"& vH &"</vH>" & vbCrLf
vXML=vXML & "<vM xsi:type=""xsd:string"">"& vM &"</vM>" & vbCrLf
vXML=vXML & "</NS1:GetTimeTrip></SOAP-ENV:Body>" & vbCrLf
vXML=vXML & "</SOAP-ENV:Envelope>" & vbCrLf



Set objInputXMLDoc = Server.CreateObject("Microsoft.XMLDOM")

objInputXMLDoc.loadXML vXML

Set objXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
vURL=vURL & "/soap/IwsTimeTrip"
objXMLHTTP.open "post", vURL, false
objXMLHTTP.setRequestHeader "Content-Type", "text/xml"
objXMLHTTP.setRequestHeader "soapAction", "urn:wsTimeTripIntf-IwsTimeTrip#GetTimeTrip"
objXMLHTTP.send objInputXMLDoc

response.Write objXMLHTTP.responseText


Simple no?
saludos