Problemas con cliente SOAP – PHP Tips

En uno de los proyectos en los cuales estoy trabajando ahora mismo, necesitaba la implementación de un entorno cliente – servidor SOAP. El servidor, vamos a decir que debido a motivos de ecosistema, lo implemente con Delphi, y el cliente con PHP.

Bien, una vez el entorno implementado, y después de hacer las pruebas pertinentes entre el cliente y servidor, los que yo denomino test de «hola mundo», me puse a implementar los servicios que necesitaba, y aquí comenzaron los problemas.

Aparentemente estaba todo bien, pero el servidor me devolvia este error:

Uncaught SoapFault exception: [Client] Function function_nameis not a valid method for this service

Pues bien todo el problema venia que el cliente tenia almacenado en cache los servicios anteriores, y no los nuevos. Podemos solucionar este error de varias maneras. Una seria deshabilitando la cache wsdl en tiempo de ejecución, asi prevenimos que si implementamos servicios nuevos, el cliente no lo reconozca. Que decir que esta opción esta bien en desarrollo, ya que una vez que este todo establecido definitivamente lo podemos deshabilitar.

ini_set("soap.wsdl_cache_enabled", "0");

Otra manera de  hacerlo seria, si usamos la clase SoapClient para crear el cliente SOAP, es pasándolo como parámetro en la creación del objeto

$clienteSoap = new SoapClient('http://misitio.com?wsdl', array('cache_wsdl' => WSDL_CACHE_NONE));

Configuración SOAP en tiempo de ejecución
Clase SoapClient

Anuncio publicitario

Un comentario en “Problemas con cliente SOAP – PHP Tips”

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s