So führen Sie SOAP-Aufrufe von PushEvent und PushEvents aus | ACC

Dieser Artikel gibt Ihnen eine Problemumgehung, wenn Sie PushEvent und PushEvents SOAP -Aufrufe in der Adobe Campaign und Adobe Campaign Classic.

Beschreibung description

Umgebung

  • Campaign Classic
  • Campaign
  • Campaign Classic v7
  • Campaign v8

Probleme/Symptome

Voraussetzungen:

  • Laden Sie die SOAP-Benutzeroberfläche zum Auslösen der Aufrufe herunter

  • Hochladen der WSDL (< server url> /nl/jsp/schemawsdl.jsp?schema=nms:rtEvent) auf SOAP UI

  • IP des Testrechners muss autorisiert sein. Andernfalls wird der Fehler "Zugriff verweigert" angezeigt.

  • Gültige Anmeldeinformationen für die Authentifizierung (im Allgemeinen mc-Benutzer), die eingegeben werden sollen  <urn:sessiontoken> login/password< /urn:sessiontoken>

Auflösung resolution

Push-Ereignis:

Dieser Aufruf soll beim Auslösen eines  eindeutig-Ereignis in der RT-Instanz.

Die Vorlage ("test"  im Beispiel) erfolgreich auf RT veröffentlicht werden, aus der Kontrollinstanz.

In < urn:domEvent> , ein Ereignis vom Typ  < rtEvent> muss definiert werden mit  type Vorlagentyp und  email die E-Mail-Adresse des Empfängers.

In < ctx> festgelegt ist, muss das gesamte in der Vorlage verwendete Attribut definiert sein. In diesem Beispiel enthält die Vorlage Folgendes:

< 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

Beispiel eines Aufrufs:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:nms:rtEvent">
   < soapenv:header/>
   < soapenv:body>
      < urn:PushEvent>
         < urn:sessiontoken> login/password< /urn:sessiontoken>
         < urn:domEvent>
            < rtEvent type="test" email="xxx@gmail.com">
                < ctx>
                    < firstName> ABC< /firstName>
                   < lastName> DEF< /lastName>
                < /ctx>
            < /rtEvent>
         < /urn:domEvent>
      < /urn:PushEvent>
   < /soapenv:body>
< /soapenv:Envelope>

Erfolgsantwort:

<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>

Das Empfangen einer PID bedeutet, dass das Ereignis erfolgreich empfangen wurde und verarbeitet wird.

PushEvents:

Dieser Aufruf soll beim Auslösen von  multiple-Ereignisse in der RT-Instanz.

Alle Anforderungen sind mit dem ersten Aufruf identisch.

Mehrfach < rtEvent> muss im Abschnitt  <urn:domEventCollection> .

Beispiel eines Aufrufs:

<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>
             < !- Sie können an dieser Stelle BELIEBIGE Elemente eingeben. Mehr als 1 Element ist erforderlich —>
         < /urn:domEventCollection>
      < /urn:PushEvents>
   < /soapenv:body>
< /soapenv:Envelope>

Hinweis: Wenn in diesem Aufruf nur ein Element definiert ist, wird es von der RT-Instanz empfangen, Antwort 200 OK, aber  Es wird kein Ereignis ausgelöst, verarbeitet oder in den Ereignissen angezeigt  und nichts wird in den Weblogs angezeigt.

Sie erhalten diese Art von Antwort, was bedeutet, dass sie den RT erreicht hat, aber dass nichts passiert:

<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>

Der Grund, warum das Ereignis nicht ausgelöst wird, ist, dass  PUSH-EREIGNISSE  funktioniert nur bei mehreren Ereignissen. Wenn der Aufruf mit nur einem Ereignis erfolgt, wird die  PUSH-EREIGNIS  -Aufruf erforderlich.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f