Archive for septiembre, 2011

4 16
09
2011

Solucionando … Error Fetching http headers soap

Viernes, septiembre 16th, 2011

Si has llegado hasta aquí, seguramente ya hayas trabajado con Web Services en diferentes lenguajes de programación.
Y si has obtenido la excepcioń «Error Fetching http headers», estarás trabajando en estos momentos con PHP.

En primer lugar comentarte que este mensaje de error tan descriptivo «Error Fetching http headers« se habrá producido con gran probabilidad porque ha transcurrido demasiado tiempo ejecutando la llamada al web services, o en otras palabras un poco más técnicas, porque ha expirado el tiempo máximo de espera de ejecución sobre el Web Services.

Lo que en otras plataformas como Java o .NET recibiríamos como una excepción del tipo TimeoutException, aquí lo recibimos como Error Fetching http headers soap.

¿Cómo podemos entonces indicarle a PHP que queremos incrementar el tiempo de espera?

Si tienes acceso a la configuración del servidor, basta con que busques en tu fichero php.ini la variable default_socket_timeout y definas el nuevo tiempo máximo de ejecución (en segundos) que quieras establecer.

default_socket_timeout = 6000

Si por el contrario no tienes acceso al fichero de configuración php.ini, o simplemente prefieres establecer el valor de timeout sobre el web service en tiempo de ejecución, siempre puedes definir este tipo de variables de configuración del sistema a través de la función ini_set(string $varname , string $newvalue).

ini_set('default_socket_timeout', 600);

Espero que la solución te sea de utilidad como me ha sido a mí.