Cordial saludo,
Estoy novato con el tema de consumir un Webservice usando PHP5 y su nueva función "soap" y no "nusoap" de PHP4.
Algún ejemplo se los agradecería mucho de ante mano.
Mil gracias
| |||
Consumir un WebService PHP5 Cordial saludo, Estoy novato con el tema de consumir un Webservice usando PHP5 y su nueva función "soap" y no "nusoap" de PHP4. Algún ejemplo se los agradecería mucho de ante mano. Mil gracias |
| ||||
Respuesta: Consumir un WebService PHP5 Se ha escrito mucho sobre SOAP, pero realmente es escasa la documentación e información de cómo imlementar el uso de esta tecnología en PHP. Si requerimos enviar toda una solicitud en XML, resulta demasiado difícil, ya que no he podido encontrar ningún documento dónde diga cómo hacerlo. Tengo el siguiente ejemplo: necesito enviar este request SOAP [XML] <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:m0="http://schemas.lodgin.com/webservices/hotelv3"> <SOAP-ENV:Header> <m:AuthenticationHeader xmlns:m="http://schemas.lodgin.com/webservices/authentication"> <m:LoginName>username</m:LoginName> <m:Password>xxxxx</m:Password> <m:Culture>en_US</m:Culture> <m:Version>8.5</m:Version> </m:AuthenticationHeader> </SOAP-ENV:Header> <SOAP-ENV:Body> <m:SearchHotelsById xmlns:m="http://lodgin.com/webservices/hotelv3"> <m:request> <m0:HotelIdsInfo> <!--We are searching here for 3 rooms--> <m0:HotelIdInfo id="4359"/> </m0:HotelIdsInfo> <m0:CheckIn>2012-02-13</m0:CheckIn> <m0:CheckOut>2012-02-17</m0:CheckOut> <m0:RoomsInformation> <!--First room: 2 adults--> <m0:RoomInfo> <m0:AdultNum>2</m0:AdultNum> <m0:ChildNum>0</m0:ChildNum> <m0:ChildAges> <m0:ChildAge age="0"/> </m0:ChildAges> </m0:RoomInfo> <!--Second room: 3 adults and 1 Child--> <m0:RoomInfo> <m0:AdultNum>3</m0:AdultNum> <m0:ChildNum>1</m0:ChildNum> <m0:ChildAges> <m0:ChildAge age="6"/> </m0:ChildAges> </m0:RoomInfo> <!--Third room: 1 adult--> <m0:RoomInfo> <m0:AdultNum>1</m0:AdultNum> <m0:ChildNum>0</m0:ChildNum> <m0:ChildAges> <m0:ChildAge age="0"/> </m0:ChildAges> </m0:RoomInfo> </m0:RoomsInformation> <m0:MaxPrice>0</m0:MaxPrice> <m0:StarLevel>0</m0:StarLevel> <!--NEW in V3! let to search for available or on request rooms--> <m0:AvailableOnly>true</m0:AvailableOnly> </m:request> </m:SearchHotelsById> </SOAP-ENV:Body> </SOAP-ENV:Envelope> [/XML] Esto lo tengo que enviar a http://lodgin.com/HotelFlow.svc?WSDL hacia dónde estoy haciendo la conexión del cliente soap: Código PHP: tengo una variable $xml dónde estoy cargando la cadena xml por medio de "simplexml_load_string()" y luego ejecuto Código PHP: y aparece entonces el siguiente error: Código HTML: Fatal error: Uncaught SoapFault exception: [Client] SOAP-ERROR: Encoding: object has no 'CheckIn' property in /var/www/html/get_hotels_by_ID.php... Gracias de antemano
__________________ Agradezco de antemano su valiosísima ayuda. Marco Ríos Ciudad de México |
Etiquetas: |