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 location
do 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 language xml <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 | ||
---|---|---|
| ||
<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 |
---|