Foros del Web » Programando para Internet » PHP »

enviar respuesta a webservice en xml

Estas en el tema de enviar respuesta a webservice en xml en el foro de PHP en Foros del Web. Hola!!, estoy integrando un webservice y he avanzado gracias a su ayuda, tengo varios detalles que no he logrado solucionar, pero en este momento mi ...
  #1 (permalink)  
Antiguo 31/05/2010, 11:52
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 22 años, 2 meses
Puntos: 1
enviar respuesta a webservice en xml

Hola!!, estoy integrando un webservice y he avanzado gracias a su ayuda, tengo varios detalles que no he logrado solucionar, pero en este momento mi duda surge porque tengo que mandar una respuesta al webservice en formato xml pero no sé cómo la debo enviar.

Después de que se introducen algunos datos en un formulario, estos datos los debo enviar en formato xml, siguiendo la siguiente extructura:


<?xml version="1.0"?>
<Request Type="Reservation" Version="1.0">
<hotels>
<hotel>
<hotelid>590</hotelid>
<tipohabitacion>DLXROOM</tipohabitacion>
<fechallegada>20100615</fechallegada>
<fechasalida>20100618</fechasalida>
<rooms>
<room>
<adultos>2</adultos>
<ninos>0</ninos>
</room>
</rooms>
</hotel>
</hotels>


Cuándo el usuario termine de llenar los campos del formulario, hacia donde lo tengo que enviar para que se envíen esos datos en este formato de XML??

Desde ya gracias por su atención y ayuda.
  #2 (permalink)  
Antiguo 31/05/2010, 12:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: enviar respuesta a webservice en xml

bueno, en un webservice hay dos personajes... el cliente y el servidor...

obviamente debes generar el XML en el servidor, pero no debes enviarlo a ninguna parte... es entonces cuando el cliente -en cualquier momento- debe hacer la petición, y ahí si entregas el XML ya formado... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 31/05/2010, 12:15
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 22 años, 2 meses
Puntos: 1
Respuesta: enviar respuesta a webservice en xml

Gracias por tu pronta respuesta pateketrueke, no me he explicado bien.

Realizo llamadas al webservice para consultar disponibilidad de hoteles, el WS me devuelve el resultado en formato XML el cual parseo para manipularlo a mis necesidades, una vez que se elige un hotel el usuario debe llenar un formulario (datos para la reservación), estos datos yo los tengo que enviar al WS (me los piden en ese formato y en esa estructura) para que se haga la reservación correspondiente.

Pero no tengo idea de como enviar estos datos.
  #4 (permalink)  
Antiguo 31/05/2010, 12:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: enviar respuesta a webservice en xml

bueno... ya dicho así: si dices que te lo piden de dicha forma y estructura, ¿hacía donde??

¿debe ser un envío post o get?
¿actualmente como haces las peticiones con el cliente??

bueno, en todo caso necesitas una librería que te permita hacer las peticiones como cURL...

sigo sin entender tu problema, podrías explicarnos como haces el trabajo duro??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 31/05/2010, 12:43
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 22 años, 2 meses
Puntos: 1
Respuesta: enviar respuesta a webservice en xml

ok, gracias pateketrueke!!

Me enviaron el documento wsdl (que incluye las llamadas a los servicios q necesito), inicio con un formulario donde solicito datos como fecha de llegada, fecha de salida, destino, etc .... , envío estos datos a través de post a una pagina que hace el parseo de los resultados generados por el WS a través de SimpleXMLElement, de la siguiente forma:

$lista_hoteles=file_get_contents("http://www.miwebservice.com/xml/getQuoteDatos?a=test&password=fuerza&pais=ME&fecha =20100116 .........");
$xml = new SimpleXMLElement($lista_hoteles);

a estos resultados yo los muestro a mi gusto (color, forma, distribución, etc), para cada resultado incuyo una opción de reservar, que es aquí donde empieza la duda, cuando el usuario quiera reservar, voy a mostrar una pagina con un formulario donde se soliciten más datos, como nombre, apellidos, etc. etc., estos datos junto con los relacionados al hotel elegido los tengo que enviar al WS que es el que va a realizar la reservación con los datos que yo le envíe.

Lo único que me comentaron es que tengo que enviarlos a través de un mensaje del método SOAP, que debe tener la siguiente estructura:


<?xml version="1.0"?>
<Request Type="Reservation" Version="1.0">
<hotels>
<hotel>
<hotelid>590</hotelid>
<tipohabitacion>DLXROOM</tipohabitacion>
<fechallegada>20100615</fechallegada>
<fechasalida>20100618</fechasalida>
<rooms>
<room>
<adultos>2</adultos>
<ninos>0</ninos>
</room>
</rooms>
</hotel>
</hotels>

Pero esto no sé como enviarlo, dónde especificó un URL si es que me deben proporcionar uno, o necesito más datos?
  #6 (permalink)  
Antiguo 31/05/2010, 17:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: enviar respuesta a webservice en xml

esa es la cuestión, claro que necesitas la url para realizar la correspondiente petición... así es como funcionan los webservices... (:

y de ahí resulta la parte en la que se define que herramienta utilizar para ello, quizá la extensión SOAP de php puede servir....
http://php.net/soap

aún así necesitas mas información al respecto, no creo que esperen que hagas una petición a una dirección que ni siquiera conoces.... debes tener los datos para realizar las transacciones, sino.. ¿como?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 07/06/2010, 17:54
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 22 años, 2 meses
Puntos: 1
Respuesta: enviar respuesta a webservice en xml

me dirijo a pateketrueke porque es el que ha dado respuesta a este tema, pero si alguien más me puede ayudar a entender esto se los agradezco.

Sigo atorada en el envío de datos al WS, en el action del form lo envío a enviardatos.php que en esta pagina pongo la estructura del mensaje que debe llegar al WS con los datos recibidos en el formulario, de la siguiente forma:

contenido de enviardatos.php

POST http://solutionreservaciones.com/xml/agencies.asmx HTTP/1.1
Host: solutionreservaciones.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://solutionreservaciones.com/xml/agencies/bookings"
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<bookings xmlns="http://solutionreservaciones.com/xml/agencies">

<?xml version="1.0"?>
<Request Type="Reservation" Version="1.0">
<hotels>
<hotel>
<hotelid><?echo $_POST['idhotel'];?></hotelid>
<tipohabitacion><?echo $_POST['tipohabitacion'];?></tipohabitacion>
<fechallegada><?echo $_POST['fechallegada'];?></fechallegada>
<fechasalida><?echo $_POST['fechasalida'];?></fechasalida>
<rooms>
<room>
<adultos><?echo $_POST['adultos'];?></adultos>
<ninos><?echo $_POST['ninos'];?></ninos>
</room>
</rooms>
</hotel>
</hotels>

</getBookings>
</soap:Body>
</soap:Envelope>

Es correcto que en el form lo dirija a este archivo que tiene la estructura del XML?, de momento me marca error en la linea correspondiente a:

<?xml version="1.0"?>

se la quito y me muestra las cabeceras:

POST http://solutionreservaciones.com/xml/agencies.asmx HTTP/1.1
Host: solutionreservaciones.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://solutionreservaciones.com/xml/agencies/bookings"
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

Desde ya gracias por su atención y ayuda

Etiquetas: enviar, respuesta, webservice, xml
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 16:04.