共通APIを使用した送信処理のサービス利用側アプリケーションのサンプルプログラムです。
:
:
public class ESIAPISendTest {
public static void main(String[] args) throws ESIAPIException {
// (1) エンドポイント名の指定
String strEndpoint = "inboundtest";
if (args.length >= 1) {
strEndpoint = args[0];
}
try {
System.out.println("java.home=" + System.getProperty("java.home"));
// (2) Serviceクラスの生成
ESIService es = ESIServiceFactory.getService(strEndpoint);
// (3) 共通メッセージの生成
ESIMessage msg = new ESIMessage();
// (4) ペイロードの設定
msg.getPayload().getBytePayload().setObject("<name>test-payload</name>".getBytes());
// (5) ヘッダの設定
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.SSS");
msg.getHeader().getParameter().put("user.createdate", sdf1.format(new Date()));
// (6) 送信APIの呼出し
ESIMessage retMessage = es.send(msg);
// (7) ペイロードの取り出し
byte[] bytePayload = retMessage.getPayload().getBytePayload().getObject();
if (bytePayload != null) {
String byteString = new String(bytePayload);
System.out.println("objectPayload=[" + byteString + "]");
}
// (8) ヘッダの取り出し
System.out.println("Status=" + retMessage.getHeader().getParameter().get("com.fujitsu.esi.status"));
System.out.println("Errorcode=" + retMessage.getHeader().getParameter().get("com.fujitsu.esi.error.code"));
System.out.println("stepname=" + retMessage.getHeader().getParameter().get("com.fujitsu.esi.error.stepname"));
System.out.println("methodtype=" + retMessage.getHeader().getParameter().get("com.fujitsu.esi.error.methodtype"));
System.out.println("user.result=" + retMessage.getHeader().getParameter().get("result"));
:
:
} catch (ESIAPIException e) {
e.printStackTrace();
}
}
:
:
} |
エンドポイント名の設定
エンドポイント名“inboundtest”を設定します。
エンドポイント定義で指定するエンドポイント名と一致させます。
エンドポイント定義:<INSDIR>\sample\App\def\endpoint.xml
<?xml version="1.0" encoding="UTF-8" ?>
<EndpointList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="esi-endpoint.xsd">
<Endpoint name="inboundtest" sync="true"> ………エンドポイント名
<Description>Sync Send Endpoint</Description>
<SequenceName>calctest</SequenceName>
</Endpoint>
: |
![]()
エンドポイント定義の設定により、同期処理で送信するか、非同期処理で送信するかが決まります。
Serviceクラスの作成
エンドポイント名をもとに、送信のServiceクラスを作成します。
共通メッセージの作成
共通メッセージを作成します。共通メッセージ操作APIを使用します。
ペイロードの設定
ペイロードに作業用のデータとして“<name>test-payload</name>”を設定します。
ヘッダの設定
共通メッセージのヘッダに作業用のデータとしてキー:“user.createdate”、値:“<現在日時>”を設定します。
送信APIの呼出し
共通メッセージを設定して、メッセージ送受信API“ESIService#send()”を呼び出します。
ペイロードの取出し
共通メッセージの中から、ペイロードを取り出します。
ヘッダの取出し
共通メッセージの中から、ヘッダパラメタキー名と値を取り出します。
サンプルプログラムは、共通メッセージのヘッダのすべてのパラメタキー名と値を取り出すように作成されています。