[ACC] - How to make PushEvent and PushEvents SOAP calls

Description

Prequisite:

  • Download SOAP UI for triggering the calls

  • Uploading the WSDL (server url/nl/jsp/schemawsdl.jsp?schema=nms:rtEvent) onto SOAP UI

  • IP of testing computer must be authorized otherwise you will get an error “Access Denied”.

  • Valid credentials for authentication (generally mc user), to be put in urn:sessiontokenlogin/password/urn:sessiontoken

Resolution

Push Event:
This call is to be used when triggering a unique event on the RT instance.

The template (“test” in the example) needs to be published successfully on RT, from the control instance.

In urn:domEvent, an event of type  rtEvent must be defined with type being the template type and email being the recipient email address.

In ctx, all the attribute used on the template must be defined. In this example, the template contain this:

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


Example of call:

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



Success response:

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

Receiving a PIID means that the event has been received with success and is being processed
PushEvents:
This call is to be used when triggering multiple events on the RT instance.

All the requirement are the same as the first call.

Mutiple rtEvent must be defined in the urn:domEventCollection.


Example of call:

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

Note: if only 1 element is defined in this call, it will be received by RT instance, response 200 OK, but no event is triggered, processed nor appear in the events and nothing shows in the weblogs.

You will get this type of response, which means that it reached the RT, but that nothing will happen:

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

The reason the event is not triggered is that PUSH EVENTS only works with multiple events. If the call is made with only one event, the PUSH EVENT call is required.

On this page