Implementação de métodos SOAP

Introdução

É possível criar métodos SOAP no JavaScript. Essa função simplesmente habilita processos aplicáveis, pode evitar o desenvolvimento de JSPs e sua chamada nos formulários.

Esses métodos SOAP se comportam da mesma forma que os definidos nativamente no aplicativo. Os mesmos atributos são suportados: estático, apenas chave e const.

Definição de uma biblioteca de métodos

A criação de uma biblioteca de métodos envolve duas etapas:

  • A declaração do método SOAP,
  • Definição (ou implementação) em JavaScript.

Declaração

Start declarando os métodos nos schemas (para obter mais informações sobre como criar e editar schemas, consulte esta seção).

A declaração é semelhante à dos métodos nativos, exceto que é necessário adicionar o atributo 'library' especificando o nome da biblioteca de métodos na qual a definição está localizada.

Esse nome coincide com o nome (com a namespace) da entidade do tipo 'Código JavaScript'.

Exemplo:

O método testLog(msg) é declarado em uma extensão nms:recipient

<method name="testLog" static="true" library="cus:test">
     <parameters>
       <param name="message" type="string" inout="in"/>
     </parameters>
   </method>
OBSERVAÇÃO

A namespace e o nome usados para a biblioteca são independentes do nome da namespace e do schema onde a declaração é encontrada.

Definição

Métodos SOAP são implementados na forma da função JavaScript agrupados em um script que representa uma biblioteca.

OBSERVAÇÃO

Uma biblioteca de métodos pode agrupar funções para vários schemas ou vice-versa, as funções de um schema podem ser definidas em bibliotecas separadas.

O script pode conter o código a ser executado durante o carregamento inicial da biblioteca.

1. Nome

O nome da função deve estar em conformidade com o seguinte formato:

 <schema-namespace>_<schema-name>_<method-name>

Exemplo:

A seguinte função JavaScript é a implementação do método descrito acima. Ela será definida na entidade do tipo "Código JavaScript" usando o nome "cus:test".

function nms_recipient_testLog(message)
 {
   logInfo("*** " + message)
 }

2. Assinatura

A assinatura da função deve incluir um argumento para cada parâmetro "in" ou "inout" da declaração.

Casos específicos:

  • métodos não estáticos: a função deve incluir um argumento adicional primeiro, coincidindo com a entidade XML transmitida na forma de um objeto do tipo 'xml' (E4X).
  • Métodos do tipo "chave somente": a função deve incluir um argumento adicional primeiro, coincidindo com a chave transmitida na forma de strings de caracteres.

3. Valores retornados

A função deve retornar um valor para cada parâmetro do tipo "out" ou "inout". Caso específico: Se o método for declarado sem nenhum dos atributos 'static', 'key only' ou 'const', o primeiro valor retornado deverá coincidir com a entidade modificada. É possível retornar um novo objeto ou retornar o primeiro parâmetro modificado.

Por exemplo:

function nms_recipient_setLastName(self, name)
 {
   self.@lastName = name
   return self
 }

Quando vários valores devem ser retornados, eles devem ser exibidos em uma tabela.

Exemplo:

function nms_recipient_getKey(self)
 {
   return [self.@firstName, self.@lastName]
 }

Nesta página

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now