Problema com Resposta de Web Service usando NUSOAP
Olá. Elaborei um «Web Service Server» para comunicar com uma aplicação. Usei o PHP e a biblioteca NUSOAP. Criei o método que é invocado pela aplicação com o nome «NewInitialDocForLocalApp». O NUSOAP gera WSDL na tag message «NewInitialDocForLocalAppRequest» e «NewInitialDocForLocalAppResponse», adiciona automaticamente a palavra Request e Response. A aplicação que vai receber a resposta efetua validações de estrutura do XML e uma das validações é esperar que a Resposta seja «NewInitialDocForLocalAppOutput» por sua vez a invocação seria «NewInitialDocForLocalAppInput». Em vez das palavras Request e Response está à espera de Input e Output.
Como posso resolver este problema usando o NUSOAP?
Código de registo: ---------------------------------------------- $server->register( 'NewInitialDocForLocalApp', // method name array( 'idApp' => 'xsd:string', 'idProcApp' => 'xsd:string', 'nIF' => 'xsd:string', 'codServico' => 'xsd:string', 'idDocFileNet' => 'xsd:string', 'tipoDocFileNet' => 'xsd:string', 'idTipoDoc' => 'xsd:string', 'dataRegisto' => 'xsd:string', 'dataDocumento' => 'xsd:string', 'idProcessoGPS' => 'xsd:string', 'classNacional' => 'xsd:string', 'nomeContribuinte' => 'xsd:string', 'nIFApresentante' => 'xsd:string', 'nomeApresentante' => 'xsd:string', 'nIFEntExterna' => 'xsd:string', 'nomeEntExterna' => 'xsd:string', 'assunto' => 'xsd:string', 'referencia' => 'xsd:string', 'codServOrigem' => 'xsd:string', 'observacoes' => 'xsd:string' ), // input array( 'codResultado' => 'xsd:string', 'codDetalheResultado' => 'xsd:string', 'descResultado' => 'xsd:string', 'idProcApp' => 'xsd:string', 'idFuncionario' => 'xsd:string' ), // output $namespace, // namespace $namespace.'#NewInitialDocForLocalApp', 'rpc', // style 'literal', // 'encoded', // use '' // documentation ); ---------------------------------------------- XML WSDL de resposta (Esta resposta é bloqueda): ---------------------------------------------- <SOAP-ENV:Body> <ns1:NewInitialDocForLocalAppResponse xmlns:ns1="http://sugar101.ritta.local/COMUM/ws/"> <codResultado>0</codResultado> <codDetalheResultado>0 - Associado</codDetalheResultado> <descResultado/> <idProcApp>104-2017-D</idProcApp> <idFuncionario/> </ns1:NewInitialDocForLocalAppResponse> </SOAP-ENV:Body> ---------------------------------------------- A aplicação espera: ---------------------------------------------- <SOAP-ENV:Body> <ns1:NewInitialDocForLocalAppOutput xmlns:ns1="http://sugar101.ritta.local/COMUM/ws/"> <codResultado>0</codResultado> <codDetalheResultado>0 - Associado</codDetalheResultado> <descResultado/> <idProcApp>104-2017-D</idProcApp> <idFuncionario/> </ns1:NewInitialDocForLocalAppOutput> </SOAP-ENV:Body> ---------------------------------------------- Obrigado por todas as ajudas possiveis.
Discussão (0)
Carregando comentários...