ADOS Developer's Site - XML Stadium |
目次
【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();
Copyright 2005-2008. ADOS Co., Ltd. All Rights Reserved. |