[ACC] - Comment effectuer des appels SOAP PushEvent et PushEvents

Description

Prérequis :

  • Télécharger l’interface utilisateur SOAP pour déclencher les appels

  • Téléchargement du WSDL (serveur) url/nl/jsp/schemawsdl.jsp?schema=nms:rtEvent) sur l’interface utilisateur SOAP

  • L’adresse IP de l’ordinateur de test doit être autorisée, sinon vous obtiendrez une erreur "Accès refusé".

  • Informations d’identification valides pour l’authentification (généralement l’utilisateur mc), à placer dans urn:sessiontokenlogin/password/urn:sessiontoken

Résolution

Événement push :
Cet appel doit être utilisé lors du déclenchement d’un événement unique sur l’instance RT.

Le modèle ("test" dans l’exemple) doit être publié correctement sur RT, à partir de l’instance de pilotage.

Dans urn:domEvent, un événement de type  rtEvent doit être défini avec type étant le type de modèle et email étant l’adresse email du destinataire.

Dans ctx, tous les attributs utilisés dans le modèle doivent être définis. Dans cet exemple, le modèle contient les éléments suivants :

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


Exemple d'appel :

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



Réponse de succès :

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

La réception d’un PIID signifie que l’événement a été reçu avec succès et qu’il est en cours de traitement.
PushEvents :
Cet appel doit être utilisé lors du déclenchement multiple sur l’instance RT.

Toutes les exigences sont les mêmes que le premier appel .

Plusieurs rtEvent doit être défini dans la variable urn:domEventCollection.


Exemple d'appel :

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
            <b>!--You may enter ANY elements at this point. More than 1 element is Required --</b>
         /urn:domEventCollection
      /urn:PushEvents
   /soapenv:Body
/soapenv:Envelope

Remarque : si un seul élément est défini dans cet appel, il sera reçu par l’instance RT, réponse 200 OK, mais aucun événement n’est déclenché, traité ou affiché dans les événements et rien n'apparaît sur les blogs.

Vous obtiendrez ce type de réponse, ce qui signifie qu'elle a atteint le RT, mais que rien ne se passera :

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

La raison pour laquelle l’événement n’est pas déclenché est la suivante : PUSH EVENTS fonctionne uniquement avec plusieurs événements. Si l’appel n’est effectué qu’avec un seul événement, la variable PUSH EVENT est requis.

Sur cette page