ページの先頭行へ戻る
Interstage Service Integrator V9.5.0 アプリケーション開発ガイド
FUJITSU Software

D.5.1 ヘッダの作成・操作

共通メッセージのヘッダにパラメタを設定したり、ヘッダから情報を取得したりするアプリケーションを作成できます。
パラメタの設定、情報取得には、以下のメソッドを使用します。

ヘッダの設定

共通メッセージのヘッダにパラメタを設定するアプリケーションについて、例をもとに説明します。
この例では、以下の条件を満たすアプリケーションを作成します。

指定例

共通メッセージのヘッダにパラメタを設定する場合の指定例は、以下のとおりです。

ESIMessage message = new ESIMessage();
ESIParameter parameter = message.getHeader().getParameter();

//(1)シーケンス名を指定
parameter.put(ESIHeaderConstants.ESI_HEADER_KEY_SEQUENCE_NAME, "sample_sequence"); ……(a)
//(2)JMSCorrelationIDを指定
parameter.put(ESIHeaderConstants.ESI_HEADER_KEY_JMS_HEADER_JMS_CORRELATION_ID, "id000012345"); ……(b)
//(3)JMSストリングプロパティの設定
parameter.put(ESIHeaderConstants.ESI_HEADER_KEYPREFIX_JMS_STRING + "jms_string_key", "jmsstringvalue"); ……(c)
//(4)ユーザプロパティの設定
parameter.put("sample.key", "samplevalue");
  1. プログラム中にシーケンス名を直接指定した場合、サービスエンドポイント定義で指定したシーケンス名よりも優先されます。

  2. JMSCorrelationIDには、以下の文字を指定しないでください。

    • < (不等号(より小))

    • > (不等号(より大))

    • & (アンパサンド)

    • ' (シングルクォーテーション)

    • " (ダブルクォーテーション)

  3. JMSキューには、“jms_string_key”をキーとしたストリングプロパティとして設定されます。

ヘッダからの情報取得

共通メッセージのヘッダから情報を取得するアプリケーションについて、例をもとに説明します。
この例では、以下の条件を満たすアプリケーションを作成します。

指定例

共通メッセージのヘッダのパラメタから情報を取得する場合の指定例は、以下のとおりです。

ESIService service = ESIServiceFactory.getService("endpointJMSReceive");
ESIMessage receiveMessage = service.receive();
ESIParameter receiveParam = receiveMessage.getHeader().getParameter();

//(1)シーケンス名を取得
String sequence = receiveParam.get(ESIHeaderConstants.ESI_HEADER_KEY_SEQUENCE_NAME);
//(2)JMSCorrelationIDを取得
String jmsCorrelationID = receiveParam.get(ESIHeaderConstants.ESI_HEADER_KEY_JMS_HEADER_JMS_CORRELATION_ID);
//(3)JMSストリングプロパティの取得
String jmskey = receiveParam.get(ESIHeaderConstants.ESI_HEADER_KEYPREFIX_JMS_STRING + "jms_string_key");
//(4)ユーザプロパティの取得
String samplekey = receiveParam.get("sample.key");