Tempo aproximado para leitura: 00:02:00 min
Ocorrência
A Classe TWSDLMANAGER com SimpleInput e o retorno GetSoapMsg não retorna o Xml completo conforme abaixo.
Segue fonte e evidencia para auxilio e entendimento:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="Http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<pesquisaProtocoloRequest xmlns="https://webservices.com.br/atendimento">
<statusProtocolo>ABERTO</statusProtocolo>
<usuario />
</pesquisaProtocoloRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) – ADVPL – A partir da versão 12.1.17
Causa
As Tags vem incompleta pois tem tipos complexos utilizados na mensagem
Solução
Neste caso deve-se utilizar o método oWsdl:ComplexInput() antes do simplesinput() onde os tipos complexos utilizados na mensagem do tipo input possuem número variável de ocorrências.
oWsdl:lUseNSPrefix := .T.
//
aComplex := oWsdl:ComplexInput()
oWsdl:SetComplexOccurs( aComplex[1][1],1 )
aSimple := oWsdl:simpleInput()
Para auxilio no desenvolvimento segue a documentação da Classe.
Saiba mais
Classe TWsdlManager
TWsdlManager:lUseNSPrefix
0 Comentários