Bom dia,
Hoje travei uma luta, em um suporte, para encontrar um erro no NuSOAP em meu servidor compartilhado.
A conclusão que chegamos é que:
1) NuSOAP foi criado para php 4 e agora no php 5 e 7 temos nativo a extensão SOAP.
A última atualização do NuSOAP foi em 13-01-2011, versão 0.9.5 -> https://sourceforge.net/projects/nusoap/files/nusoap/
Há forks ou atualizações com patchs, mas ainda assim NuSOAP falha nos quesitos 2 e 3 abaixo.
2) NuSOAP conflita com a extensão nativa do SOAP.
A extensão nativa do SOAP esta na maioria das distribuições vindo compilado e não carregado como módulo.
Ou seja, nestas distros não há como desabilitar o SOAP para que o NuSOAP possa trabalhar corretamente.
Pois muitas funções do NuSOAP e SOAP tem a mesma sintaxe e entram em conflito provocando erros inesperados.
3) Mesmo que a extensão SOAP, quando carregada como módulo, seja desabilitada no php.
Os webservices feitos com Nu_SOAP não conseguem trabalhar direito com php 5.6 ou php 7.
Uma das causas para o NuSOAP não trabalhar direito nestas versões são funções que ser tornaram obsoletas no php 5.6 e já foram descartadas no php 7.
Exemplos:
a) HTTP_POST_RAW_DATA
https://github.com/Dolibarr/dolibarr/issues/2973 -> Webservices doesn’t work with PHP 5.6
Since HTTP_POST_RAW_DATA is deprecated into PHP 5.6, nusoap seems to be broken
Yes HTTP_POST_RAW_DATA is deprecated and must be replaced with php://input
deprecated in 5.6 and removed in php 7.
b) deprecated constructor
http://stackoverflow.com/questions/39616448/php7-nusoap-nusoap-client-has-a-deprecated-constructor
ErrorException in class.soapclient.php line 26: Methods with the same name as their class will not be constructors in a future version of PHP; nusoap_client has a deprecated constructor
[size=12pt]
Sei que é mais trabalhoso começar do zero com SOAP, mas será muito mais trabalhoso ter que refazer seus projetos ao se deparar com o php7 usando o NuSOAP.[/size]
[size=12pt]Logo, não usem NuSOAP.[/size]