Pregunta

He pasado la última semana el desarrollo de código para conectarse a un servicio web utilizando la biblioteca NuSOAP. Acabo desplegado el código para la producción, pero inmediatamente comenzó a recibir de error que no había visto antes. He seguido el problema de nuevo a una línea de código que está tratando de crear una instancia de un nuevo objeto SoapClient. Resulta que las dos bibliotecas tienen una clase llamada 'SoapClient' y la que se está creando en la producción es de la biblioteca nativa de jabón, no la biblioteca NuSOAP que estoy incluyendo. ¿Cómo puedo desactivar la funcionalidad nativa de jabón y se adhieren estrictamente a NuSOAP?

¿Fue útil?

Solución

Con el lanzamiento de PHP5 hay una clase soapclient incluido en la extensión php_soap. NuSOAP ha cambiado el nombre de su clase con el nusoap_client. Si su copia de NuSOAP es corriente que debe ser capaz de utilizar eso. Esto no deshabilita la extensión php_soap, pero debe permitir el uso de la clase NuSOAP sin más conflictos.

Otros consejos

Ah, no importa. NuSOAP 0.7.3 (que yo estaba usando) cambió el nombre de la clase a 'nusoap_client' específicamente para evitar este conflicto. También incluyeron una comprobación de compatibilidad hacia atrás que un alias que clase con 'SoapClient' si la extensión de jabón nativa no estaba cargada, por lo que no he entendido que en mi máquina de desarrollo.

Ref: http://code.google .com / p / NuSOAP-para-php5 / temas / detalle? id = 2

No te culpo, el construido en la biblioteca de jabón para PHP es la vergüenza total y completa, especialmente en comparación con los servicios web de Python.

Una opción es eliminar la extensión en tiempo de compilación:

  

Esta extensión sólo está disponible si   PHP fue configurado con --enable-jabón.

Otra opción es cambiar el nombre de jabón-cliente en NuSOAP. Búsqueda Notepad ++ 's y reemplazar funciona bien, pero que realmente no debería tener que hacer esto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top