![]() |
php , xml, soap hola tengo dudas acerca de como es el proceso de comunicacion con un web service necesito comunicarme con servidor mediante xml, tengo los documentos xml, buscando en la web encontre que la comunicacion debe hacerse mediante algun protocolo, p.e. SOAP, para php existe una libreria nuSOAP, en los ejemplos se hace la comunicacion pero no utilizan los archivos XML: Código PHP: gracias |
Re: php , xml, soap bueno poco a poco voy aclarando mis dudas, pongo aqui lo que voy encontrando para que me digan si en algo me equivoco o para que pueda ayudar a alguien as primero la estructura, proceso de comunicacion con un web service, una imagen vale mas que mil palabras http://www.revista.unam.mx/vol.3/num1/art3/img01.html y el articulo: http://www.revista.unam.mx/vol.3/num1/art3/ ahora quisiera saber cual es la diferencia entre un archivo xml y wsdl y como puedo desde php sacar los datos del archivo xml para poder enviarlos mediante el array al webservice |
Re: php , xml, soap por lo que voy viendo los documentos WSDL tienen una estructura definida, teniendo los siguientes elementos: * Types * Message * Operation * Port Type * Binding * Port * Service y para mi caso me han dado tags definidos por el servidor, por lo tanto no aplicaria los WSDL si ven que me equivoco les agradeceria me lo digan, gracias |
Re: php , xml, soap cuando tenga mis parametros en array, podre enviarlo mediante: $client->call(nombre_funcion_en_el_servidor, array_de_parametros) solo que no logro obtener el array de un archivo xml, quiero usar el domxml pero solo esta habiltada para la version 4 de php, es con la que cuento, pero proximamente se hara la migracion y ya probe y en php5 no funciona, asi que estoy buscando un parser para ambas versiones de php, si saben de algun parser, si estuviera integrado en php mucho mejor, agradeceria me lo digan el siguiente codigo fue sacado de http://developer.apple.com/internet/...s/soapphp.html Código PHP: |
Re: php , xml, soap resulta que el servidor remoto me permite enviar una cadena en vez de array de parametros, esto es puedo enviarle un string asi: Código PHP: ahora me surgio una nueva duda, es posible hacer la llamada al servidor sin usar soap? en el manual que me proporcionaron sugieren: Código: <?xml version="1.0.1" encoding="UTF-8" ?>y otra duda, logre almacenar en un array los tags y valores del archivo xml, pero, segun vi en los codigos que hay en la red, existen varias formas de representar el arbol correspondiente al xml, y aqui va mi pregunta, existe un estandar para enviar a un servidor externo como este caso?, por que utilice los arrays que logre almacenar pero me devolvia error en todos |
Re: php , xml, soap chispas, me he quedado atorada aqui, ya tengo la conexion se realiza bien, envio xml y me devuelve xml pero me falta la transicion a php y viceversa, hay funciones que sirven solo en php 4, alguna experiencia en los parser que me acorte el camino??, necesito pasar de php a xml y de xml a php respetando la esctructura de arbol de xml |
Re: php , xml, soap Alguna vez hice eso para pearsear el xml que recibía del RSS feed de Yahoo! Buscando en internet encontré esta información: www . sitepoint . com/print/php-xml-parsing-rss-1-0 Si bien es medio complejillo el código una vez que entiendes el concepto el resto es cuesta abajo, o sea muy facil de aplicar. Si necesitas ayuda me avisas por este mismo medio PD: antes de entrar al link quita los espacios antes y despues de los puntos en www . y . com que no me permiten publicar links externos |
Re: php , xml, soap gracias por la respuesta, justo estaba revisando a profundidad las DOM Functions para manejo de documentos XML y lei el comentario del autor que mencionas Cita:
|
Re: php , xml, soap Hola! Yo tengo mas dudas sobre el Soap, y es que me he quedado atascada en una parte sobre el Encoding, realmente es necesario ponerlo en el condigo? siempre me resulta el mismo error. SoapFault exception: [Client] SOAP-ERROR: Encoding: object hasn't 'request' property in C:\xampp2\xampp\htdocs\soap.php:53 Stack trace: #0 [internal function]: SoapClient->__call('GetSubscribers', Array) #1 C:\xampp2\xampp\htdocs\soap.php(53): SoapClient->GetSubscribers(Array) #2 {main} Request : NULL Response : NULL La forma de programar es exactamente la misma que hemos estado realizando es la misma, alguien me puede decir como solucionar este tipo de problema??? Gracias ;) |
Re: php , xml, soap estoy con el mismo problema que luz506, es decir necesito enviar un XML al webservice a través de SOAP, no creo que haya que parsearlo a array ya que el metodo call de la libreria nuSOAP en su 4to parametro permite enviar la cadena en este caso el XML es decir,por un lado tengo el xml de la forma: <?xml version="1.0.1" encoding="UTF-8" ?> <SOAP-ENV:Envelope xmlns:SOAPENV="http://schemas.xmlsoap.org/soap/envelope/" SOAPENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <!-- aqui los tags de xml-> </SOAP-ENV:Body> </SOAP-ENV:Envelope> A eso lo guardo en una variable $parametros y lo envio al cliente de la forma $respuesta->$cliente->call("nombre_del_metodo","","espacio_de_dominio", $params); Es correcta esta forma? por que obtengo error en la salida (java.lang.NullPointerException) |
Re: php , xml, soap hola yo solucione mi problema asi: Código PHP: luego lo que me devuelven a mi es un array, no estoy segura si eso es para todos los servidores, pero eso lo averguas imprimiendo $resultados, si es un array es manejable en php saludos pd. en mi caso el nombre del metodo iba dentro del xml, el formato me lo da el proveedor de servicio, y no utilice las etiquetas de soap como: <SOAP-ENV:Envelope xmlns:SOAPENV="http://schemas.xmlsoap.org/soap/envelope/" SOAPENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> ..... Cita:
|
Re: php , xml, soap php5 ya tiene nativamente funciones de soap es mas practico y mas sencillo de usar que el nusoap ademas php4 ya esta descontinuado http://www.php.net/soap Saludos |
Re: php , xml, soap gracias funcionó, estaba equivocandome en el link al webservice. Y ademas $salida=$cliente->call(...................) no devuelve nada, la respuesta esta en $cliente->response pero esta respuesta es un mensaje SOAP, como hago para parsearlo? se me complica por que comienza con la cabecera http: "HTTP/1.1 200 OK Date: Mon, 29 Oct 2007 18:58:59 GMT Server: Resin/2.1.17 Content-Type: text/xml; charset=iso-8859-1 Vary: Accept-Encoding Connection: close <?xml version="1.0" encoding="ISO-8859-1"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xm...." |
Re: php , xml, soap y tengo otra GRAN duda como hago para enviar el request sin usar HTTP, sino utilizando el protocolo SOAP. ? Por que según la documentacion de nusoap, utilizando send se envia el mensaje a través de HTTP. como se hace para evitar eso? borrando los headers? :s Pregunto eso por que el webservice, me devuelve un respuesta con header HTTP si le envio el request por ese protocolo, y devuelve un xml soap puro si le envio el request sin la cabecera. |
| La zona horaria es GMT -6. Ahora son las 10:15. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.