共通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()”を呼び出します。
ペイロードの取出し
共通メッセージの中から、ペイロードを取り出します。
ヘッダの取出し
共通メッセージの中から、ヘッダパラメタキー名と値を取り出します。
サンプルプログラムは、共通メッセージのヘッダのすべてのパラメタキー名と値を取り出すように作成されています。