Tempo aproximado para leitura: 00:01:45 min
Ocorrência
Utilizando o método SetValue da classe TWsdlManager para preenchimento de parâmetros em um webservice, o XML apresenta falha abaixo na resposta do servidor:
Error: elemento inesperado...Os elementos esperados
Exemplo de erro utilizando o API dos Correios:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>Unmarshalling Error: elemento inesperado (uri:"http://cliente.bean.master.sigep.bsb.correios.com.br/", local:"cep"). Os elementos esperados são <{}cep> </faultstring></soap:Fault></soap:Body></soap:Envelope>
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) – ADVPL – Todas as versões
Causa
A falha ocorre pois, a API neste caso necessita do prefixo de namespace antes dos nomes das tags na mensagem SOAP.
Solução
Utilize a propriedade lUseNSPrefix, para enviar o namespace.oWsdl:lUseNSPrefix := .T.
Saiba mais
lUseNSPrefix
0 Comentários