Ambiente
Problemas/Sintomas
Pré-requisitos:
Baixar a interface SOAP para acionar as chamadas
Fazendo upload do WSDL (<
url do servidor>
/nl/jsp/schemawsdl.jsp?schema=nms:rtEvent) na interface SOAP
O IP do computador de teste deve ser autorizado, caso contrário, você receberá um erro "Acesso negado".
Credenciais válidas para autenticação (geralmente mc user), a serem colocadas em <
urn:sessiontoken>
login/senha<
/urn:token de sessão>
Evento de push:
Esta chamada deve ser usada ao acionar um único na instância de RT.
O modelo ("test" no exemplo ) precisa ser publicado com êxito no RT, a partir da instância de controle.
Entrada <
urn:domEvent>
, um evento do tipo <
rtEvent>
deve ser definido com type sendo o tipo de modelo e email sendo o endereço de email do recipient.
Entrada <
ctx>
, todos os atributos usados no template devem ser definidos. Neste exemplo, o template contém isto:
<
P
>` Your email is: `<` %= rtEvent.email %`>` `<
P
``> -
> is using the attribute email directly as email in define within rtEvent
<
P
>` Your first name: `<` %= rtEvent.ctx.firstName %`>` `<
P
``> -
> is using ctx.firstname as ctx is an inner element of rtEvent
<
P
>` Your last name: `<` %= rtEvent.ctx.lastName %`>` `<
P
> -
> is using ctx.lastname as ctx is an inner element of rtEvent
Exemplo de chamada:
<
soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:nms:rtEvent">
<
soapenv:Header/>
<
soapenv:Corpo>
<
urn:PushEvent>
<
urn:sessiontoken>
login/senha<
/urn:token de sessão>
<
urn:domEvent>
<
rtEvent type="test" email="xxx@gmail.com">
<
ctx>
<
firstName>
ABC<
/firstName>
<
lastName>
DEF<
/lastName>
<
/ctx>
<
/rtEvent>
<
/urn:domEvent>
<
/urn:PushEvent>
<
/soapenv:Corpo>
<
/soapenv:Envelope>
Resposta de sucesso:
<
SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="urn:nms:rtEvent" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<
SOAP-ENV:Body>
<
PushEventResponse SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns="urn:nms:rtEvent">
<
plId xsi:type="xsd:long">
000000000<
/plId>
<
/PushEventResponse>
<
/SOAP-ENV:Body>
<
/SOAP-ENV:Envelope>
Receber um PIID significa que o evento foi recebido com êxito e está sendo processado.
PushEvents:
Esta chamada deve ser usada ao acionar múltiplo eventos na instância de RT.
Todos os requisitos são os mesmos da primeira chamada.
Múltiplo <
rtEvent>
deve ser definido na variável <
urn:domEventCollection>
.
Exemplo de uma chamada:
<
soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:nms:rtEvent">
<
soapenv:Header/>
<
soapenv:Corpo>
<
urn:PushEvents>
<
urn:sessiontoken>
?<
/urn:token de sessão>
<
urn:domEventCollection>
<
!—Você pode inserir QUALQUER elemento neste ponto. Mais de 1 elemento é obrigatório —>
<
/urn:domEventCollection>
<
/urn:PushEvents>
<
/soapenv:Corpo>
<
/soapenv:Envelope>
Nota: Se apenas 1 elemento for definido nesta chamada, ele será recebido pela instância de RT, resposta 200 OK, mas nenhum evento será acionado, processado ou exibido nos eventos e nada será exibido nos weblogs.
Você terá esse tipo de resposta, o que significa que ela atingiu o RT, mas que nada acontecerá:
<
SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="urn:nms:rtEvent" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<
SOAP-ENV:Body>
<
PushEventsResponse SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns="urn:nms:rtEvent">
<
pdomIds xsi:type="ns:Element" SOAP-ENV:encodingStyle="http://xml.apache.org/xml-soap/literalxml">
<
rtEvent email="xxx@gmail.com" type="test"/>
<
/pdomIds>
<
/PushEventsResponse>
<
/SOAP-ENV:Body>
<
/SOAP-ENV:Envelope>
O motivo pelo qual o evento não é acionado é que EVENTOS DE PUSH só funciona no caso de vários eventos. Se a chamada for feita com apenas um evento, a variável EVENTO DE PUSH chamada é necessária.