Filed Under (Comentarios, pear, soap, xml, zendframework) by pgodel on Enero-15-2008

Recientemente comencé un proyecto en el cual es necesario conectarse a un servidor remoto que provee un web service mediante SOAP Buy cialis professional without prescription, .

Hace tiempo que no utilizaba SOAP, cheap cialis professional pharmacy, Buy cialis professional without prescription, la última vez fue hace various años y el soporte de SOAP en PHP era bastante limitado. Debido al paso del tiempo, cialis professional in uk, Cialis professional buy, imaginé que ahora tendría mejor suerte y la experiencia sería mucho mejor y sin problemas.

Empecé a buscar qué opciones tenía para consumir el web service. Debido a que últimamente he estado utilizando el Zend Framework, cialis professional no online prescription, Cialis professional australia, lo primero que hice fue chequear si este disponía de librerías, con el resultado sorpresivo de que sólo tiene un cliente de XML-RPC, buying cialis professional online. Online cialis professional,

Mi próximo paso fue revisar el manual de PHP, y la extensión SOAP aparecío como la solución a mi búsqueda, cialis professional free sample.

El web service me ofrecía un WSDL, un documento XML que provee la definición de datos y métodos a utilizar, buy cialis professional without prescription. Get cialis professional, Idealmente, esto tiene que ser mapeado a una serie de clases en PHP con las mismas propiedades y métodos (esto se llama proxy), cialis professional cheapest price. Find discount cialis professional, Un utilitario llamado wsdl2php me permitió generar todo el código PHP de una forma considerablemente rápida y sin problemas, aunque tuve que hacer algunas modificaciones menores en el código resultante para que todo funcione a gusto.

La extensión SOAP de PHP funcionó muy bien enviando datos simples, order cialis professional on internet, Purchase cialis professional without prescription, pero me topé con un problema al querer enviar un array de objetos. Diversos errores volvían de las llamadas al servidor, buy cialis professional in us. Find cheap cialis professional, Seguí los consejos de la página del manual de PHP de utilizar SoapVar para generar el encoding necesario, pero sin un resultado positivo.

Como método de prueba y error, cialis professional professional, Cialis professional in bangkok, decidí probar la librería de SOAP de PEAR.

Luego de seguir las instrucciones de instalación, las cuales fueron bastante simples, free cialis professional, Compare cialis professional prices online, me encontré con otro tipo de errores provenientes del servidor.

Buy cialis professional without prescription, A este punto, me preguntaba si el problema estaba en el lado del servidor, por lo que cree un pequeño programa en  C# y .NET con Visual Studio. Este cliente SOAP funcionó de primera en cuestión de minutos, buy generic cialis professional online. Compare cialis professional prices,

Pude obtener el XML generado por .NET apuntando el cliente a un scriptPHP que guardaba en un log el contenido del request via POST. Esto mepermitió comparar el XML generado por PHP y ver las diferencias, order cialis professional from canada, Best price cialis professional, quepor cierto eran considerables.

Luego de buscar y comentar el problema con un colega, me comentó que estaba utilizando NuSoap, buying generic cialis professional. Order cialis professional overnight delivery, Esta es una de las primeras (sino la primera) de las librerías para crear servidores y clientes SOAP en PHP. En mi búsqueda inicial, cialis professional rx, Buy no rx cialis professional, la había encontrado, pero al ver que las últimas noticias en el sitio eran de 2004, cialis professional no prescription, Cialis professional discount, imaginé que el proyecto había sido descontinuado y no estaría a la altura de las necesidades. Luego de mirar un poco mejor, cialis professional uk, Canada cialis professional, descubrí que la última versión había sido editada en Noviembre de 2007, por lo que decidí a probar, cheap cialis professional from canada, Best price for cialis professional, otra vez.

Los primeros intentos también me dieron algunos errores, pero esta vez el XML era muy parecido a lo que debía ser aceptado por el servidor.

La clave fue preparar los parámetros a enviar de la siguiente forma:

 $param = array('in0' => new soapval( 'AuthenticationInfo', cialis professional medication, Lowest price for cialis professional, '', $authinfo ), discount cialis professional no rx, Cialis professional online review,        
                        'in1' => array( new soapval( 'ContactInfo', '', buy cialis professional generic, Cialis professional tablet, $contact ) ) );      
 $result = $client->call('addContacts',$param );


En resumen, lo que parecería algo simple y fácil de hacer (como lo fue con C# y .NET), fue más complicado de lo esperado. Es notorio que luego de tantos años, el soporte de PHP sigue siendo deficiente, y que una librería que no es mantenida de manera activa haya dado los mejores resultados, el único resultado positivo.

Pido disculpas si no he dado suficientes ejemplos, o mensajes de error, espero poder comentar detalladamente cuando tenga más tiempo, si por lo pronto tienen alguna pregunta al respecto, no duden en contactarse mediante comentarios o via el foro de PHPes.
.

Similar posts: Buy prozac without prescription. Buy ultram without prescription. Buy clomid without prescription. Buy accutane without prescription. Buy zoloft without prescription. Buy nexium without prescription. Buy wellbutrin sr without prescription. Buy amoxicillin without prescription. Buy kamagra without prescription. Buy kamagra effervescent without prescription.
Trackbacks from: Buy cialis professional without prescription. Buy viagra soft tabs without prescription. Motrin online without prescription. Synthroid online without prescription. Buy viagra super force without prescription. Otibact without prescription. Buy modalert without prescription. Pyridium without a prescription. Buy flagyl without prescription. Buy cialis jelly without prescription.


You must be logged in to post a comment.


"));