Versões comparadas

Chave

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

Envia um XML de envelope SOAP para um Webservice Faz uma requisição ao recurso SOAP informado no XML do envelope SOAP. Os parâmetros do bloco serão 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 com 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 fornecido, 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 fornecidoutilizado, 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 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 ser utilizado utilizar o bloco criar mapa come 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 exato 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 SOAP UIde 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, o no bloco Enviar envelope SOAPrealiza uma requisição ao web service 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  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  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 SOAPo 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