Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Envia um XML de envelope SOAP para um Web service Faz uma requisição ao recurso SOAP informado no XML do envelope SOAP. Os parâmetros do bloco sã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 contendo as respostas da requisição feita ao web service SOAP. 

Parâmetros

Âncora
UrlDaPorta
UrlDaPorta

URL da Porta

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

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

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 utilizado, você pode encontrar esse valor definido no atributo soapAction do elemento <soap:operation> . Dependendo do endpoint WSDL utilizado, esse atributo pode estar vazio, não sendo necessário informar o 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, como o formato da mensagem, autorização, autenticação, entre outras. Para a criação do mapa você pode utilizar o bloco criar mapa com e adicionar as chaves e valores desejados. 

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

Âncora
XmlDoEnvelope
XmlDoEnvelope

XML do Envelope

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

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

    Bloco de código
    languagexml
    <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, no bloco Enviar envelope SOAP, os parâmetros URL da Porta e XML do Envelope foram obtidos com base nas informações do WSDL 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. 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 o resultado de execução da função da Figura 2.


Bloco de código
languagexml
<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

Índice