none
Prefixo em envelope SOAP com SoapHttpClientProtocol RRS feed

  • Pergunta

  • A pergunta é simples: Como incluir um prefixo na função do envelope SOAP numa chamada de WebService com SoapHttpClientProtocol?

    Assim, ao importar um WebService, o WSDL cria um objeto do tipo SoapHttpClientProtocol.

    Ao fazer a chamada do método, ele gera o seguinte pacote de dados:

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope
     xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
    <NomeDaFuncao>

    ...

    </NomeDaFuncao>
    </soap:Body>
    </soap:Envelope>

    O que eu preciso que o objeto SoapHttpClientProtocol faça é o seguinte, limpe o NS XSI e o XSD, renomeie o NS soap, assim:

    <?xml version="1.0" encoding="utf-8"?>
    <soapenv:Envelope
    xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope
    xmlns:urn="urn:XXXX">
    <soapenv:Body>
    <urn:NomeDaFuncao>

    ...

    </urn:NomeDaFuncao>
    </soapenv:Body>
    </soapenv:Envelope>

    sexta-feira, 27 de abril de 2012 18:20

Todas as Respostas