Atualize hoje para o Scriptcase 9 e ganhe 35% de desconto! Atualize hoje para o Scriptcase 9 e ganhe 35% de desconto! COMPRAR AGORA!

Autor Tópico: Scriptcase - NuSOAP x extensão nativa SOAP  (Lida 945 vezes)

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1930
  • Focalize as oportunidades e não os obstáculos.
    • Simão & Bühler Ltda
    • Email
Scriptcase - NuSOAP x extensão nativa SOAP
« Online: Dezembro 09, 2016, 10:08:28 pm »
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

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.


Logo, não usem NuSOAP.
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

flagomesbh

  • Intermediário
  • ***
  • Mensagens: 152
Re:Scriptcase - NuSOAP x extensão nativa SOAP
« Responder #1 Online: Dezembro 26, 2016, 07:37:57 am »
Obrigada por avisar, Alexandre! Já estava pesquisando a respeito.
Flávia Gomes
- Aprendiz -

periodicosbrasil

  • Iniciante
  • **
  • Mensagens: 94
    • Email
Re:Scriptcase - NuSOAP x extensão nativa SOAP
« Responder #2 Online: Dezembro 26, 2016, 11:56:22 am »
Obrigado pelo aviso, Alexandre !

FredKeyster

  • Expert
  • *****
  • Mensagens: 1725
  • DEWENNINMEN
    • Email
Re:Scriptcase - NuSOAP x extensão nativa SOAP
« Responder #3 Online: Dezembro 26, 2016, 12:45:40 pm »
Olá Alexandre. Você ja testou essa release com suporte a Php7 ?

https://github.com/codecasts/nusoap-php7 

Att;
F. A.
Analista de Sistemas

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1930
  • Focalize as oportunidades e não os obstáculos.
    • Simão & Bühler Ltda
    • Email
--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?