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

D.8.2 ESIAPISendTest.cs(送信処理)

共通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);
            }
        }
    }
}
  1. サービスエンドポイント名の指定
    サービスエンドポイント名“soapnet”を指定します。
    サービスエンドポイント定義で指定するサービスエンドポイント名と一致させます。サービスエンドポイント定義の作成方法については、“ISI Studio ヘルプ”を参照してください。

  2. Serviceクラスの作成
    サービスエンドポイント名をもとに、送信のServiceクラスを作成します。

  3. 共通メッセージの作成
    共通メッセージを作成します。共通メッセージ操作APIを使用します。

  4. ペイロードの設定
    ペイロードに作業用のデータとして“<name>test-payload</name>”を設定します。

  5. ヘッダの設定
    共通メッセージのヘッダに作業用のデータとしてキー:“user.createdate”、値:“<現在日時>”を設定します。

  6. 送信APIの呼出し
    共通メッセージを設定して、メッセージ送受信API“IESIService#Send()”を呼び出します。

  7. ペイロードの取出し
    共通メッセージの中から、ペイロードを取り出します。

  8. ヘッダの取出し
    共通メッセージの中から、ヘッダパラメタキー名と値を取り出します。
    サンプルプログラムは、共通メッセージのヘッダのすべてのパラメタキー名と値を取り出すように作成されています。