Limpiar la caché de SOAP en PHP

Todo el que ha probado a trabajar con SOAP en PHP sabe que no es precisamente una delicia. Cuando te enfrentas con SOAP por primera vez en tu vida te puedes pasar varios días hasta que consigues hacerlo funcionar (y eso que hoy en día es mucho más fácil). Pero esta maravillosa tecnología siempre puede darnos algunos disgustos adicionales.

Por ejemplo, cuando cambias el nombre de uno de los servicios (o webservices) puede que te encuentres con este error:

Server did not recognize the value of HTTP Header SOAPAction

Si compruebas en la llamada que haces a SOAP seguramente el nombre que estás usando sea el correcto. Entonces ¿a qué viene este error? Lo más probable será que la llamada está usando la caché así que tendrás que “limpiarla”.

Tienes dos opciones:

1) Desactivar la caché temporalmente:

$this->nusoapDefault = new SoapClient( $soapUrl, [ 'cache_wsdl' => WSDL_CACHE_NONE ] );

Esto hará que las próximas llamadas no usen la caché. El problema es que tendrás una pequeña pérdida de rendimiento. Puedes mantener esto mientras haces pruebas pero cuando termines será mejor borrar la caché.

2) Borrar la caché de SOAP.

Los ficheros de la caché de SOAP se almacenan en la carpeta /tmp (en un servidor tipo Linux), normalmente dentro de subcarpetas cuyos nombres empienzan por wdsl. Éstas puedes borrarlas tranquilamente (ojo no borres otras cosas de la carpeta /tmp).

Por cierto, estoy escribiendo un nuevo libro de Programación Orientada a Objetos en PHP. Sígueme en twitter y no te lo pierdas. Va a ser un bombazo.

Nuevos capítulos sobre Bash en Linux

Esta semana he publicado dos nuevos artículos en Gulvi.com sobre sobre Bash:

Y una nueva entrega del curso de programación en Bash:

Incluir otros ficheros en BASH / Programación en BASH

Con un poco de suerte la semana que viene publicaré también algunos vídeos del curso.

Gulvi – la web para desarrolladores web

Ya se acerca el fin del veranito. Es una época en parte triste porque se acaban los paseos por la playa, las noches de fiestuqui, el calorcito, y todo lo bueno que nos trae. Pero también es una época emocionante porque es cuando suelen aparecer un montón de proyectos nuevos.

Así que, entre barbacoa y barbacoa, este verano he estado preparando uno de mis nuevos proyectos: Gulvi.com una plataforma de formación online para desarrolladores web.

En esta plataforma comparto mis conocimientos y experiencia como desarrollador de un montón de años. Está centrada, sobre todo, en PHP y Laravel (que es el framework que más uso desde hace ya un tiempo) pero hay otro montón de temas que voy a tratar:

El sistema de aprendizaje será a través de vídeos, artículos, ejemplos de código y recomendaciones.

Gulvi - formación para desarrolladores web

Gulvi – Vitaminas para desarrolladores web

¿Por qué prefiero Vagrant sobre Wamp Server?

Hoy he publicado en el blog de Urlan Heat un artículo contando por qué prefiero usar Vagrant para crear mis entornos de desarrollo en lugar de usar Wamp o tener un servidor Apache y MySQL instalado en mi ordenador.

Si no has probado Vagrant te recomiendo que le eches un vistazo.

¿Por qué es mejor usar Vagrant que Wamp o similares?

Programación orientada a objetos en PHP. 3: Encapsulación

Otra entrega más (y ya van tres) del mini curso de programación orientada a objetos en PHP. Esta vez hablo de encapsulación. No te lo pierdas:

Programación orientada a objetos en PHP capítulo 3: ¿Por qué no hacer todo public? (Encapsulación).