[ADOS] ADOS Developer's Site - XML Stadium
ADOS Company slogan - XML Total Solution

 RIGHT:[[目次>Hestia Hacks]]|[[前>]]|[[次>]]
 RIGHT:[[目次>Hestia Hacks]]|[[前>JMSによるHestiaとの接続]]|[[次>受信したServiceContentをXMLファイルに出力]]
 
 目次
 
 #contents
 
 *概要 [#f6285f9d]
 
 
 【PIPSenderXML.java】
  1 : import java.io.BufferedReader;
  2 : import java.io.File;
  3 : import java.io.FileInputStream;
  4 : import java.io.FileReader;
  5 : import java.io.Reader;
  6 : import java.util.Date;
  7 : import java.util.Properties;
  8 : 
  9 : import com.ados.hestia.parser.rnbm.exchange.Container;
  10 : import com.ados.hestia.parser.rnbm.exchange.PayloadContainer;
  11 : import com.ados.hestia.parser.rnbm.exchange.StatusContainer;
  12 : import com.ados.hestia.parser.rnbm.particle.ServiceContent;
  13 : import com.ados.hestia.sdk.Configuration;
  14 : import com.ados.hestia.sdk.Connection;
  15 : import com.ados.hestia.sdk.message.DirectMessageExchanger;
  16 : import com.ados.hestia.sdk.rnbm.access.XMLBuilder;
  17 : import com.ados.hestia.sdk.session.InitiationSession;
  18 : import com.ados.hestia.sdk.session.Session;
  19 : import com.ados.hestia.utils.UID;
  20 : 
  21 : public class PIPSenderXML {
  22 : 
  23 :   public static void main(String[] args) {
  24 :     try {
  25 :       String filename = args[0];
  26 :       String pip = args[1];
  27 :       String pipver = args[2];
  28 : 
  29 :       Properties prop = new Properties();
  30 :       prop.load(new FileInputStream("sample.properties"));
  31 :       String HOST = prop.getProperty("HOST");
  32 :       String USER = prop.getProperty("USER");
  33 :       String PASS = prop.getProperty("PASS");
  34 :       String HANDLER_ID = prop.getProperty("HANDLER_ID");
  35 : 
  36 :       Connection connection = new Connection(HOST, USER, PASS,
  37 :           Connection.EXCHANGE_MODE_DIRECT, null, null, null,
  38 :           HANDLER_ID);
  39 :       DirectMessageExchanger exchanger = new DirectMessageExchanger(
  40 :           connection, Configuration.getInstance());
  41 : 
  42 :       Reader reader = new BufferedReader(new FileReader(
  43 :           new File(filename)));
  44 :       XMLBuilder builder = new XMLBuilder(reader, pip, pipver, true);
  45 :       ServiceContent sc = builder.build();
  46 : 
  47 :       Session session = new InitiationSession(new PayloadContainer(
  48 :           new Date(), sc.getFromRole()
  49 :               .getGlobalBusinessIdentifierNorm(), sc.getToRole()
  50 :               .getGlobalBusinessIdentifierNorm(), (new UID())
  51 :               .toString(), sc, null));
  52 :       SampleUtils.printSessionState("created", session);
  53 :       PayloadContainer request = session.getMessageToSend();
  54 :       SampleUtils.printSessionState("got", session);
  55 :       SampleUtils.printContainerInformation(request);
  56 :       SampleUtils.printServiceContent(request.getServiceContent());
  57 :       exchanger.sendMessage(request);
  58 :       SampleUtils.printSessionState("sent", session);
  59 : 
  60 :       int time = 0;
  61 :       boolean loop = true;
  62 :       while (loop) {
  63 :         Thread.sleep(5000);
  64 :         exchanger.hit();
  65 :         SampleUtils.printSessionState("loop=" + time++, session);
  66 : 
  67 :         Container container = exchanger.receiveMessage();
  68 :         if (container != null) {
  69 :           SampleUtils.printContainerInformation(container);
  70 :           session.pushStatus((StatusContainer) container);
  71 :           SampleUtils.printSessionState("pushed", session);
  72 :           loop = false;
  73 :         }
  74 :       }
  75 : 
  76 :     } catch (Exception e) {
  77 :       e.printStackTrace();
  78 :     }
  79 :   }
  80 : 
  81 : }
 
 XMLBuilderによりReaderを介してServiceContentのXMLを読み込み、ServiceContentオブジェクトを生成します。したがって、Readerによりファイルだけでなく任意のソースからXMLを入力できます。
 
 Reader reader = new BufferedReader(new FileReader(new File(filename)));
 XMLBuilder builder = new XMLBuilder(reader, args[1], args[2], true);
 ServiceContent sc = builder.build();
 

トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Copyright 2005-2008. ADOS Co., Ltd. All Rights Reserved.