Foros del Web » Programación para mayores de 30 ;) » Programación General »

Como hacer una peticion a un webservice

Estas en el tema de Como hacer una peticion a un webservice en el foro de Programación General en Foros del Web. hola a todos quisiera saber como se pude hacer una peticion para el envio de informacion a un webservice con asp, php, .net; no importa, ...
  #1 (permalink)  
Antiguo 03/04/2006, 16:05
 
Fecha de Ingreso: enero-2006
Mensajes: 6
Antigüedad: 18 años, 10 meses
Puntos: 0
Sonrisa Como hacer una peticion a un webservice

hola a todos quisiera saber como se pude hacer una peticion para el envio de informacion a un webservice con asp, php, .net; no importa, yo lo tengo con asp, pero me manda un error de la cuenta, la verdad desconosco asp y no estoy seguro si esta bien la manera en que lo estoy haciendo, tengo otro en visual basic y ese si funciona bien, el problema es que no lo puedo mandar llamar porque trabajo sobre web.

Este es el codigo para la peticion al webservice:

tengo un formulario con el cual envio la informacion a la pagina invoke.asp

invoke.asp

<% Option Explicit %>
<!-- #include file = "funciones.asp" -->
<%
'<--#includefile="<%=funciones.asp>"-->

Dim strSoap, strResul, strSOAPAction
Dim strRecruiterID, strDateExpires, strJobTitle
Dim strJobBody, strJobLocationID, strShowContactInfo
Dim strContactCompanyName, strContactEmailAddress, strContactPhoneNumber, strContactFaxNumber, strContactStreetAddress
Dim strContactCity, strContactState, strContactPostalCode, strContactCountry
Dim strSalaryFrom, strSalaryTo, strSalaryTime, strJobRefCode
Dim strJobTypeFullTime, strJobTypePartTime, strJobTypeContract, strJobTypePermanent
Dim strContactName, strJobCity, strJobFunctionId, strJobLevelId, strCompanyTurn, strUrlExterno
Dim codeResult

'Asignamos los datos del formulario a variables internas
strRecruiterID = Request.Form("recruiterid")
strContactName = Request.Form("contactname")
strJobCity = Request.Form("jobcity")


'Copiamos el SOAP (Request) obtenido en el asmx y reemplazamos "string" por los
'valores que ingresó el usuario.

strSoap = "<?xml version=""1.0"" encoding=""utf-8""?>" & _
"<soap:Envelope xmlns:xsi="">" & _
"<soap:Body>" & _
"<InsertJob xmlns=""servicios.occ.com.mx/JobsImp"">" & _
"<RecruiterID>'" & strRecruiterID & "'</RecruiterID>" & _
"<ContactName>'" & strContactName & "'</ContactName>" & _
"<JobCity>'" & strJobCity & "'</JobCity>" & _
"<JobFunctionId>'" & "</InsertJob>" & _
"</soap:Body>" & _
"</soap:Envelope>"


strSOAPAction = "servicios.occ.com.mx/JobsImp/InsertJob"

'Dimensionamos la variable donde obtendremos la respuesta del WebService
Dim xmlResponse

'Realizamos la llamada a la función InvokeWebService(), brindándole los parámetros correspondientes
If InvokeWebService (strSoap, strSOAPAction, "servicios.occ.com.mx/jobsimp.asmx", xmlResponse) Then

'Si el WebService se ejecutó con éxito, obtenemos la respuesta y la imprimimos
codeResult = xmlResponse.documentElement.selectSingleNode("/soap:Envelope/soap:Body/InsertJobResponse/InsertJobResult").text 'soap:Body/InsertJobResponse/InsertJobResult

Response.Write "Su nuevo código es: " & codeResult
Else
'Pero si hubo algún problema, le informamos al usuario
Response.Write = " Ha ocurrido un error! "
End If

'Liberamos la memoria del objeto xmlResponse
Set xmlResponse = Nothing

%>


funciones.asp

<%
Function InvokeWebService (strSoap, strSOAPAction, strURL, ByRef xmlResponse)
'************************************************* ****************************
' Descripción: Invoca un WebService y obtiene su resultado.
'
' Inputs:
' strSoap: Petición HTTP a enviar, en formato SOAP. Contiene la
' llamada al WebMethod y sus parámetros
' correspondientes.
' strSOAPAction: Namespace y nombre del WebMethod a utilizar.
' strURL: URL del WebService.
'
' Returns:
' La función retornará False si ha fallado la ejecución del WebService o si
' ha habido error en la comunicación con el servidor remoto. De lo contrario
' retornará True.
'
' xmlResponse: Respuesta obtenida desde el WebService, parseada
' por el MSXML.
'************************************************* ****************************

Dim xmlhttp
Dim blnSuccess

'Creamos el objeto ServerXMLHTTP
Set xmlhttp = Server.CreateObject("Msxml2.ServerXMLHTTP")

'Abrimos la conexión con el método POST, ya que estamos enviando una
'petición.
xmlhttp.Open "POST", strURL

'Agregamos encabezados HTTP requeridos por el WebService
xmlhttp.setRequestHeader "Occ", "POST " & strURL & " HTTP/1.1"
xmlhttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
xmlhttp.setRequestHeader "SOAPAction", strSOAPAction

'El SOAPAction es importante ya que el WebService lo utilizará para
'verificar qué WebMethod estamos usando en la operación.

'Enviamos la petición
xmlhttp.send(strSoap)

'Verificamos el estado de la comunicación
If xmlhttp.Status = 200 Then

'El código 200 implica que la comunicación se puedo establecer y que
'el WebService se ejecutó con éxito.
blnSuccess = True
Else

'Si el código es distinto de 200, la comunicación falló o el
'WebService provocó un Error.
blnSuccess = False
End If

'Obtenemos la respuesta del servidor remoto, parseada por el MSXML.
Set xmlResponse = xmlhttp.responseXML

InvokeWebService = blnSuccess

'Destruimos el objeto, acá no hay GarbageCollector ;)
Set xmlhttp = Nothing
End Function
%>

Ojala que alguien pueda ayudarme
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:24.