PushEvent および PushEvents SOAP呼び出しの実行方法 | ACC
この記事では、Adobe CampaignとAdobe Campaign Classicで PushEvent および PushEvents SOAP 呼び出しを行う場合の回避策を説明します。
説明 description
環境
- Campaign Classic
- Campaign
- Campaign Classic v7
- Campaign v8
問題/症状
前提条件:
-
呼び出しをトリガーするためのSOAP UI のダウンロード
-
WSDL (
<server url>/nl/jsp/schemawsdl.jsp?schema=nms:rtEvent)のSOAP UI へのアップロード -
テストするコンピュータの IP を認証する必要があります。認証しないと、「アクセスが拒否されました」というエラーが表示されます。
-
認証に有効な資格情報(通常は mc ユーザー)。urn:sessiontoken
>login/password</urn:sessiontoken に<り込み>す。
解決策 resolution
プッシュイベント:
この呼び出しは、RT インスタンスで unique event をトリガーする際に使用されます。
テンプレート(この例では 「test」 は、RT 時にコントロールインスタンスから正常に公開する必要があります。
<urn:domEvent> で、タイプのイベント rtEvent> <、type はテンプレートタイプ、email は受信者のメールアドレスで定義する必要があります。
ctx> で <、テンプレートで使用されるすべての属性を定義する必要があります。 この例では、テンプレートに次の内容が含まれています。
< 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
呼び出しの例:
<:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:nms:rtEvent">
< soapenv:Header/>
< soapenv:Body>
<:PushEvent>
< urn:sessiontoken> login/password< /urn:sessiontoken>
<: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>
成功応答:
<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>
< 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>
ID の受信は、イベントが正常に受信され、処理中であることを意味します。
PushEvents:
この呼び出しは、RT インスタンスで multiple events をトリガーする際に使用されます。
すべての要件は、最初の呼び出しと同じです。
複数 <rtEvent> は、<urn:domEventCollection> . で定義する必要があります
呼び出しの例:
<:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:nms:rtEvent">
< soapenv:Header/>
< soapenv:Body>
<:PushEvents>
<:sessiontoken>?< /urn:sessiontoken>
<:domEventCollection>
<! – この時点で任意の要素を入力できます。 More than 1 element is Required — >
< /urn:domEventCollection>
< /urn:PushEvents>
< /soapenv:Body>< /soapenv:Envelope>
注意: この呼び出しで定義される要素が 1 つだけの場合、RT インスタンスは受信し、応答は 200 OK ですが、 イベントはトリガーされず、処理されず、イベントにも表示されません また、web ログには何も表示されません。
このタイプの応答は RT に到達したことを意味しますが、何も起こりません。
<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>
イベントがトリガーされない理由は、 プッシュイベント が複数のイベントの場合にのみ機能するからです。 1 つのイベントのみを使用して呼び出しを行う場合は、PUSH EVENT 呼び出しが必要です。