ページの先頭行へ戻る
Interstage Big DataComplex Event Processing ServerV1.0.0 開発リファレンス
Interstage

3.3.1 SOAPアダプター

SOAPアダプターの通信方式について説明します。

3.3.1.1 エンドポイント

SOAPアダプターは、CEPサービスのWebサーバ機能を使用してイベントデータを受信します。

エンドポイントのアドレス(URL)は以下のとおりです。

http://CEPサーバのホスト名/CEPエンジン名FrontServerService/SoapReceiverService

CEPサーバのホスト名が“bdcep”、CEPエンジン名が“CepEngine1”の場合:

http://bdcep/CepEngine1FrontServerService/SoapReceiverService

3.3.1.2 送信メッセージ

HTTPプロトコル(HTTPバインディング)を使用して、イベントデータを格納したSOAPメッセージをCEPサーバに送信します。

参考

本製品のSOAPアダプターは、SOAP 1.1の仕様に準拠しています。

SOAPメッセージ

CEPエンジンに通知するSOAPメッセージの形式は以下のとおりです。

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Header />
<S:Body>
<a:notify xmlns:a="http://adapter.front.cep.cspf.fujitsu.com/">
<type>イベントデータ形式</type>
<eventTypeId>イベントタイプID</eventTypeId>
<data>イベントデータ</data>
</a:notify>
</S:Body>
</S:Envelope>
SOAPヘッダー(S:Header)

空要素を指定します。

SOAPボディ(S:Body)

notify要素の値にイベントデータの以下の情報を記述し、SOAPボディに指定します。

notify要素のxmlns属性(XML名前空間)に、“http://adapter.front.cep.cspf.fujitsu.com/”を指定します。

送信情報

指定方法

指定例

イベントデータ形式

type要素の値として指定します。

イベントデータがCSV形式の場合:

<type>CSV</type>

イベントタイプID

eventTypeId要素の値として指定します。

イベントタイプ(イベントタイプ定義の開発資産ID)がEVENTTYPE_01の場合:

<eventTypeId>EVENTTYPE_01</eventTypeId>

イベントデータ本体

data要素の値として指定します。

<data>MEM0001,1010,1</data>

HTTPリクエスト

イベントデータを通知するCEPエンジンを指定します。

POST パス HTTP/バージョン
パス

エンドポイントアドレスのパス部

バージョン

HTTPプロトコルバージョン

ポイント

本製品がサポートしているHTTPプロトコルバージョンは、“1.0”および“1.1”です。

CEPエンジン名が“CepEngine1”の場合:

POST /CepEngine1FrontServerService/SoapReceiverService HTTP/1.1
リクエストヘッダー

イベントデータの情報を以下のとおり指定します。

送信情報

指定方法

指定例

文字セット

Content-Typeヘッダーに指定します。

(UTF-8の場合は、省略可)

イベントデータの文字エンコーディングのシフトJISの場合:

Content-Type: text/xml; charset=Shift_JIS

注意

文字セットを指定しない場合、文字コード変換は行いません。そのため、送信するイベントデータの文字エンコーディングがUTF-8以外であっても、高速フィルターおよび複合イベント処理では入力イベントをUTF-8と解釈して動作します。

メッセージボディ

SOAPメッセージ(上述)を指定します。

次の場合の送信メッセージを以下に示します。

  • CEPサーバのホスト名:bdcep

  • CEPエンジン名:CepEngine1

  • イベントデータ形式:CSV形式

  • イベントタイプID:EVENTTYPE_01

  • 文字セット:シフトJIS

    POST /CepEngine1FrontServerService/SoapReceiverService HTTP/1.1
    Host: bdcep
    Content-Type: text/xml; charset=Shift_JIS
    Content-Length: nnnn

    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Header />
    <S:Body>
    <a:notify xmlns:a="http://adapter.front.cep.cspf.fujitsu.com/">
    <type>CSV</type>
    <eventTypeId>EVENTTYPE_01</eventTypeId>
    <data>MEM0001,1010,1</data>
    </a:notify>
    </S:Body>
    </S:Envelope>

3.3.1.3 応答メッセージ

HTTPリクエストを送信後、CEPサーバから通知される応答メッセージ(SOAPメッセージ)を受信します。

HTTPレスポンスおよびメッセージボディに通知される情報は以下のとおりです。

SOAPメッセージ

CEPエンジンから通知されるSOAPメッセージの形式は以下のとおりです。

なお、見やすさのため適宜改行を入れていますが、実際のメッセージでは、途中に改行は入りません。

<?xml version='1.0' encoding='UTF-8'?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:notifyResponse xmlns:ns2="http://adapter.front.cep.cspf.fujitsu.com/">
<return>リターンメッセージ</return>
</ns2:notifyResponse>
</S:Body>
</S:Envelope>
リターンメッセージ

SOAPアダプターの処理結果を示すメッセージです。

正常処理時は“Code=0 Message=Message sending is completed normally.”になります。

HTTPレスポンス

HTTPの応答メッセージが通知されます。

HTTP/バージョン ステータスコード 補足メッセージ
バージョン

HTTPプロトコルバージョン

ステータスコード

HTTPリクエストの結果

補足メッセージ

ステータスコードに応じた補足メッセージ

イベントデータの送信が正常終了した場合:

HTTP/1.1 200 OK 
メッセージボディ

SOAPメッセージ(上述)が通知されます。

ポイント

異常時にはシステムログおよびエンジンログにメッセージを出力します。異常時のエラー処理については、「3.4 エラー処理」を参照してください。

処理結果に応じた各種メッセージは以下のとおりです。

処理結果

メッセージ(*1)

正常終了

200 OK

Code=0 Message=Sending message completed normally.

なし

フォーマット異常

イベントデータ形式が存在しない

200 OK

Code=-100 Message=Event type format is not defined.

cep10306e: Event Type Format is not defined. EngineId=CEPエンジン名

処理結果異常

ログ出力処理が失敗

200 OK

Code=-200 Message=Logging failed.

cep10401e: The Log was not able to be output. EngineId=CEPエンジン名, EVENT=受信イベント, ERRORINFO=内部情報

注:受信イベント中の改行は&#012;に変換されて出力されます。システムログに出力可能な長さを超えるイベントの場合、システムログにはイベントの途中まで出力されます。

フォーマット異常

イベントタイプIDが存在しない

200 OK

Code=-300 Message=Event type id is not defined.

cep10305e: Event Type ID is not defined. EngineId=CEPエンジン名

フォーマット異常

イベントデータ形式にCSVまたはXML以外が指定されている

200 OK

Code=-400 Message=Unknown event format [イベント形式].

cep10114e: Unknown Event format. EngineId=CEPエンジン名, format=イベント形式

設定内容の不一致

不明なイベントタイプIDです

200 OK

Code=-500 Message=Unknown event type id [イベントタイプ].

cep10108e: Event type is not found. EngineId=CEPエンジン名, eventType=イベントタイプ

フォーマット異常

不明な文字セットです

415 Unsupported Media Type

なし

なし

設定内容の不一致

イベントデータ形式が配備されているイベントタイプ定義と異なります

200 OK

Code=-700 Message=It differs from the registered format [イベント形式].

cep10116e: It differs from the registered format. EngineId=CEPエンジン名, format=イベント形式

ビジー状態

CEPサーバが一時的または恒久的に過負荷状態

200 OK

Code=-800 Message=Server is busy now.

cep10301w: FrontServer is busy. Event is aborted. EngineId=CEPエンジン名

または、

cep10302e: FrontServer is continuously busy. Event is aborted. EngineId=CEPエンジン名

フォーマット異常

イベントデータサイズが32,000,000バイトを超過しています

200 OK

Code=-900 Message=Bad Event data size [イベントデータサイズ].

cep10310e: Event Data Size is over. EngineId=CEPエンジン名, Size=イベントデータサイズ

CEPサーバ起動

200 OK

Code=-1000 Message=Server is not Running.

cep10300w: FrontServer is not running. Event is aborted. EngineId=CEPエンジン名

(*1) 各段に記載している内容は以下のとおりです。

上段:HTTPステータスコード+補足メッセージ

中段:SOAPメッセージに含まれるリターンメッセージ(可変情報は斜体で示しています)

下段:システムログおよびエンジンログの出力メッセージ(可変情報は斜体で示しています)

3.3.1.4 留意事項

SOAPアダプターを使用する上での留意事項について説明します。

同時接続数について

SOAPアダプターに対して複数のイベント送信アプリケーションから同時に接続する場合、SOAPアダプターの最大同時接続数に達する場合があります。この場合、それ以降に接続するイベント送信アプリケーションからの接続要求が一時的に保留状態になります。

SOAPアダプターで受け付けたイベントデータが処理されしだい保留状態の接続要求に応答するため、イベント送信アプリケーションでは対処の必要はありません。

参考

SOAPアダプターの最大同時接続数は50です。

なお、SOAPアダプターとHTTPアダプターはCEPサーバのWebサーバ機能を共用しているため、実際はHTTPアダプターに対する接続を合わせた接続数となります。

通信プロトコルについて

SOAPアダプターの通信プロトコルでは、HTTPS(HTTP over SSL/TLS)はサポートされません。