SOAP V3

Conheça o componente e saiba como utilizá-lo.

Rafael Nobrega avatar
Escrito por Rafael Nobrega
Atualizado há mais de uma semana

O SOAP V3 invoca endpoints SOAP de um pipeline. Expressões em Double Braces são suportadas.

Além disso, o componente utiliza templates Apache FreeMaker para gerar a mensagem de chamada que converte o retorno de SOAP para JSON, tentando ao máximo não corromper a conversão.

Dê uma olhada nos parâmetros de configuração do componente:

  • URL: URL a ser chamada - pode conter os parâmetros seguindo o padrão {:param1}, que serão substituídos pela propriedade correspondente da mensagem de entrada.

  • Account: conta a ser utilizada pelo componente.

  • Custom Account #1: conta adicional a ser utilizada pelo componente por meio de Double Braces {{ account.custom-1.value }}. Clique aqui para ler o nosso artigo sobre o tema.

  • Custom Account #2: conta adicional a ser utilizada pelo componente por meio de Double Braces {{ account.custom-2.value }}. Clique aqui para ler o nosso artigo sobre o tema.

  • Send the Request Body from a File: se habilitada, a opção considera o conteúdo a ser enviado na chamada através de um arquivo; do contrário, será considerado o que for especificado em "Template".

  • Request Body File Name: informa o nome do arquivo a ser enviado na chamada SOAP, se a opção “Send the Request Body from a File” estiver ativada.

  • Template (XML): template Apache FreeMarker para que a mensagem SOAP seja enviada na solicitação.

  • HEADERS: headers da chamada.

  • QUERY PARAMS: query parameters da chamada.

  • ​​Attachments (MTOM): configura arquivos ou conteúdos binários a serem enviados na requisição utilizando a tecnologia MTOM

    • Is Binary: se ativada, o conector deverá receber o conteúdo binário e o ID do arquivo a ser enviado na requisição, do contrário, deve ser informado o nome do arquivo.

    • File Name: informa o nome do arquivo a ser enviado junto do XML configurado em Template (Is Binary desativada).

    • File ID: informa o ID do arquivo a ser enviado junto do XML configurado em Template. (Is Binary ativada)

    • Base64 Content: informa o conteúdo em Base64 a ser enviado junto do XML configurado em Template. (Is Binary ativada)

IMPORTANTE: para utilizar a tecnologia MTOM, é necessário que o arquivo ou conteúdo em Base64 seja referenciado diretamente no XML da requisição, sendo substituído pelo valor configurado em File Name ou File ID, dentro da tag <inc:Include> padrão junto do namespace (xmlns:inc="http://www.w3.org/2004/08/xop/include") obrigatório, referentes ao MTOM. Exemplo ao configurar o campo File Name/File ID com o valor "myImage.png":

XML original:

<soapenv:Envelope>
<soapenv:Header/>
<soapenv:Body>
...
<file>iVBORw0KGgoAAAAN... (Base64 content)</file>
...
</soapenv:Body>
</soapenv:Envelope>

XML ativando MTOM:

<soapenv:Envelope>
<soapenv:Header/>
<soapenv:Body>
...
<file><inc:Include href="cid:myImage.png" xmlns:inc="http://www.w3.org/2004/08/xop/include"/></file>
...
</soapenv:Body>
</soapenv:Envelope>

  • WS-Security: configura a camada de segurança da requisição utilizando a tecnologia WS-Security.

    • Type: tipo de propriedade a ser inserida na camada de segurança no XML da requisição. Atualmente o conector suporta apenas os tipos Timestamp e UsernameToken.

    • Time to live: tempo em segundos a ser utilizado para gerar a data de criação e expiração (Type Timestamp).

    • Millisecond precision: define se a data de criação e expiração devem incluir precisão em milissegundos (Type Timestamp).

    • Username: nome de usuário da conta a ser utilizada (Type UsernameToken).

    • Password: senha da conta a ser utilizada (Type UsernameToken).

    • Password Type: tipo de senha a ser utilizada (Type UsernameToken).

    • Add Nonce: se ativa, inclui um Nonce (Type UsernameToken).

    • Add Created: se ativa, inclui a data de criação (Type UsernameToken).


IMPORTANTE: os propriedades Username e Password devem ser configuradas através dos campos Custom Account #1 ou Custom Account #2 (conta tipo BASIC).

A opção WS-Security é desativada caso a opção Send the Request Body from a File for ativada.


  • Connection Timeout: tempo de expiração da conexão (em milissegundos).

  • Reading Timeout: tempo máximo para leitura (em milissegundos).

  • Stop On Client Error: se ativada, a opção vai gerar um erro para suspender a execução do pipeline.

  • Stop On Server Error: se ativada, a opção vai gerar um erro para suspender a execução do pipeline.

  • All Values As String: se ativada, a opção vai retornar todos os valores dentro das propriedades XML em string.

  • Is Multipart Response: se ativada, será esperada uma resposta Multipart da chamada, e será exibida uma lista contendo cada Part retornada.

  • With Namespace: se ativada, a opção mantém os spacenames no retorno do XML.

  • Override Response Charset: quando ativada, a opção irá sobrescrever o charset retornado do endpoint para o charset especificado na propriedade Response Charset. Quando desabilitada ela respeitará o retorno do charset no header Content-Type. Caso não retorne nenhum charset no content type o padrão utilizado será UTF-8.

  • Response Charset: utilizado somente quando a opção Override Response Charset estiver ativa e forçará o uso do charset especificado nesta propriedade. Padrão: UTF-8.

  • Advanced Settings: configurações avançadas.

  • Allow Insecure Calls To HTTPS Endpoints: quando ativada, a opção permite que chamadas não seguras a endpoints HTTPS sejam feitas.

  • Raw Mode: se ativada, a opção recebe ou passa um payload sem ser JSON.

  • Save As Local File: quando ativada, a opção salva o retorno como um arquivo no diretório local do pipeline. O arquivo será salvo apenas quando houver sucesso na chamada SOAP, ou seja, quando o http status code da resposta estiver entre 200 e 399.

  • Response File Name: nome do arquivo ou caminho completo do arquivo (ex.: tmp/processed/file.txt) onde será salva a resposta da chamada SOAP. Double Braces são suportados.

  • Enable Retries: quanto ativada, a opção permite que sejam feitas novas tentativas.

  • Maximum Number Of Retries Before Giving Up: número máximo de tentativas antes de desistir da chamada.

  • Time To Wait Before Each Retry: tempo máximo entre tentativas (em milissegundos).

Sobre o template variável

O nome da variável também pode conter sinal de menos (-), ponto (.) e dois pontos (:) em qualquer posição, desde que eles sejam acompanhados de uma barra invertida (\) logo antes. Do contrário, os sinais podem ser interpretados como operadores.

Sobre substituição de números

  <#assign x=42>

${x}

${x?string} <#-- the same as ${x} -->

${x?string.number}

${x?string.currency}

${x?string.percent}

${x?string.computer}

Resultado

 42

42

42

$42.00

4,200%

42

Formato de número

<#setting number_format="0.####">

Para verificar se o campo não é nulo:

<#if varTest??>${varTest}</#if>
Respondeu à sua pergunta?