Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 3 Próxima »

Envia um XML de envelope SOAP para um Webservice SOAP. Os parâmetros do bloco serão obtidos com base em um endpoint WSDL.


Figura 1 - Bloco Enviar envelope SOAP

Compatibilidade

  • Bloco servidor: cronapi.util.Operations.callSOAP()

Retorno

Retorna um envelope SOAP com as respostas da requisição. 

Parâmetros

URL da Porta

URL que contém o endereço do web service que será acessado. No arquivo WSDL fornecido, você pode encontrar a URL base definida no atributo location do elemento <soap:address> .

  • Posição: 1
  • Inglês: Port URL
  • Tipo: Texto / String
  • Exemplo: "https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente"

SOAP Action

Especifica a ação que será executada no web service, geralmente é uma URI que identifica a operação a ser realizada. No arquivo WSDL fornecido, você pode encontrar esse valor definido no atributo soapAction dentro do elemento <soap:operation> . Dependendo do endpoint WSDL utilizado, esse atributo pode estar vazio, não sendo necessário informar esse parâmetro no bloco.

  • Posição: 2
  • Inglês: SOAP Action
  • Tipo: Texto / String
  • Exemplo: "http://example.com/valueoperation"

Cabeçalhos

Mapa contendo os cabeçalhos da requisição. É um parâmetro opcional utilizado para incluir informações adicionais relacionadas à requisição. Para a criação do mapa pode ser utilizado o bloco criar mapa com

  • Posição: 3
  • Inglês: Headers
  • Tipo: Mapa / Map
  • Exemplo: "{Content-Type: text/xml}"

XML do Envelope

Conteúdo XML do envelope SOAP a ser chamado. O conteúdo exato do XML do envelope depende da definição do web service utilizado e das operações suportadas. Para testar e montar o XML do envelope pode ser utilizada a ferramenta de testes SOAP UI.

  • Posição: 4
  • Inglês: Envelope XML
  • Tipo: Texto / String
  • Exemplo

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:m="http://cliente.bean.master.sigep.bsb.correios.com.br/">
        <soapenv:Header/>
        <soapenv:Body>
            <m:consultaCEP>
                <cep>04707910</cep>
            </m:consultaCEP>
        </soapenv:Body>
    </soapenv:Envelope>

Exemplo

Para obtermos um recurso via SOAP, é necessário que exista um endpoint WSDL. Assim, para este exemplo usaremos a função para consulta de CEPs disponibilizada no web service dos correios.

Na função abaixo, o bloco Enviar envelope SOAP realiza uma requisição ao web service SOAP dos correios. O parâmetro SOAP Action está vazio, pois no arquivo WSDL em questão esse atributo não é especificado. No parâmetro Cabeçalhos, inserimos o bloco criar mapa com que cria um objeto mapa com a chave "Content-Type" que especifica o formato da resposta que será obtida. Os parâmetros URL da Porta e XML do Envelope foram obtidos com base nas informações do WSDL. Após a execução da função, a resposta da requisição será impressa no console do depurador.


Figura 2 - Exemplo de uso do bloco Enviar envelope SOAP


No campo abaixo, apresentamos a resposta da requisição realizada via SOAP.


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <ns2:consultaCEPResponse xmlns:ns2="http://cliente.bean.master.sigep.bsb.correios.com.br/">
            <return>
                <bairro>Vila Gertrudes</bairro>
                <cep>04707910</cep>
                <cidade>São Paulo</cidade>
                <complemento2></complemento2>
                <end>Avenida Roque Petroni Júnior, 999</end>
                <uf>SP</uf>
            </return>
        </ns2:consultaCEPResponse>
    </soap:Body>
</soap:Envelope>

Nesta página

  • Sem rótulos