Ambiente
Problemas/sintomas
Pré-requisitos:
Baixe a interface SOAP para acionar as chamadas
Upload do WSDL (servidor url/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, usuário mc), a serem colocadas em urn:sessiontokenlogin/password/urn:sessiontoken
Evento de push:
Essa chamada deve ser usada ao acionar um único na instância RT.
O modelo ("teste" no exemplo) precisa ser publicado com êxito no RT, da instância de controle.
Em urn:domEvent, um evento do tipo rtEvent deve ser definido com type como o tipo de modelo e email sendo o endereço de email do recipient.
No ctx, todo o atributo usado no template deve ser definido. Neste exemplo, o modelo contém o seguinte:
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:Body
urn:PushEvent
urn:sessiontokenlogin/password/urn:sessiontoken
urn:domEvent
rtEvent type="test" email="xxx@gmail.com"
ctx
firstNameABC/firstName
lastNameDEF/lastName
/ctx
/rtEvent
/urn:domEvent
/urn:PushEvent
/soapenv:Body
/soapenv:Envelope
Resposta bem-sucedida:
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"0000000000/plId
/PushEventResponse
/SOAP-ENV:Body
/SOAP-ENV:Envelope
Receber um PIID significa que o evento foi recebido com êxito e está sendo processado.
PushEvents:
Essa chamada deve ser usada ao acionar multiple na instância de RT.
Todos os requisitos são iguais à primeira chamada .
Vários rtEvent devem ser definidos 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:Body
urn:PushEvents
urn:sessiontoken?/urn:sessiontoken
urn:domEventCollection
!—Você pode inserir QUALQUER elemento neste ponto. É necessário mais de 1 elemento —
/urn:domEventCollection
/urn:PushEvents
/soapenv:Body
/soapenv:Envelope
Observação: Se apenas 1 elemento for definido nesta chamada, ele será recebido pela instância RT, resposta 200 OK, mas nenhum evento será acionado, processado ou exibido nos eventos e nada será exibido nos weblogs.
Você receberá esse tipo de resposta, o que significa que ele 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 O só funciona no caso de vários eventos. Se a chamada for feita com apenas um evento, a variável EVENTO DE PUSH é necessária.