共通APIを使用した送信処理の.NET Framework上で動作するサービス利用側アプリケーションのサンプルプログラムです。
using System;
using System.Collections.Generic;
using System.Text;
using Com.Fujitsu.Esi.Client;
using Com.Fujitsu.Esi.Message;
namespace test.api
{
public class ESIAPISendTest
{
public static void Main(string[] args)
{
// (1) サービスエンドポイント名の指定
string strEndpoint = "soapnet";
if (args.Length >= 1)
{
strEndpoint = args[0];
}
try {
// (2) Serviceクラスの生成
IESIService es = ESIServiceFactory.GetService(strEndpoint);
// (3) 共通メッセージの生成
ESIMessage msg = new ESIMessage();
// (4) ペイロードの設定
msg.Payload.BytePayload.Object =
Encoding.UTF8.GetBytes("<name>test-payload</name>");
// (5) ヘッダの設定
msg.Header.Parameter.Put("user.createdate", DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
// (6) 送信APIの呼出し
ESIMessage retMessage = es.Send(msg);
// (7) ペイロードの取出し
byte[] bytePayload = retMessage.Payload.BytePayload.Object;
if (bytePayload != null) {
string byteString = Encoding.UTF8.GetString(bytePayload);
Console.WriteLine("objectPayload=[" + byteString + "]");
}
// (8) ヘッダの取出し
foreach(ESIParameterItem item in retMessage.Header.Parameter.Items) {
Console.WriteLine("key=[" + item.Key + "] value=[" + item.Value + "]");
}
} catch (ESIAPIException e) {
Console.WriteLine(e.StackTrace);
}
}
}
} |
サービスエンドポイント名の指定
サービスエンドポイント名“soapnet”を指定します。
サービスエンドポイント定義で指定するサービスエンドポイント名と一致させます。サービスエンドポイント定義の作成方法については、“ISI Studio ヘルプ”を参照してください。
Serviceクラスの作成
サービスエンドポイント名をもとに、送信のServiceクラスを作成します。
共通メッセージの作成
共通メッセージを作成します。共通メッセージ操作APIを使用します。
ペイロードの設定
ペイロードに作業用のデータとして“<name>test-payload</name>”を設定します。
ヘッダの設定
共通メッセージのヘッダに作業用のデータとしてキー:“user.createdate”、値:“<現在日時>”を設定します。
送信APIの呼出し
共通メッセージを設定して、メッセージ送受信API“IESIService#Send()”を呼び出します。
ペイロードの取出し
共通メッセージの中から、ペイロードを取り出します。
ヘッダの取出し
共通メッセージの中から、ヘッダパラメタキー名と値を取り出します。
サンプルプログラムは、共通メッセージのヘッダのすべてのパラメタキー名と値を取り出すように作成されています。