TestMain.java 4.6 KB
package th.co.ais.ssbsrfc.control;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.Reader;
import java.io.StringReader;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.Unmarshaller;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPMessage;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamReader;

import com.sun.org.apache.xalan.internal.xsltc.compiler.Parser;

import th.co.ais.ssbsrfc.instance.AdjustmentRequestRes;
import th.co.ais.ssbsrfc.instance.ResultHeader;

public class TestMain {

	static AdjustmentRequestRes adj = new AdjustmentRequestRes();
	static ResultHeader res = new ResultHeader();
	
	public static Object fromSoap(String strSoap, Class objClass) {
		Object obj = null;
		
		try {
			SOAPMessage message = MessageFactory.newInstance().createMessage(null, new ByteArrayInputStream(strSoap.getBytes()));
			Unmarshaller unmarshaller = JAXBContext.newInstance(objClass).createUnmarshaller();
			SOAPBody body = message.getSOAPBody();
			if(body != null && !body.getTextContent().trim().equals("")) {
				obj = unmarshaller.unmarshal(body.extractContentAsDocument());
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return obj;
	}
	
	public static void main(String[] args) throws Exception {

		
		Date time = new Date();
		SimpleDateFormat sdf = new SimpleDateFormat("MMddHHmmssSS");
		String ti = sdf.format(new Date());
		 sdf = new SimpleDateFormat("yyyy");
		int i = Integer.parseInt(sdf.format(new Date()))-543;
		ti = i+ti;
		
		DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmssSS");
		Calendar cal = Calendar.getInstance();
		cal.add(Calendar.YEAR, -543);
		
		System.out.println(time.toString());
		System.out.println(time.getTime());
		System.out.println(ti);
		System.out.println(dateFormat.format(cal.getTime()));
		
		String value = new Scanner(new File("D:\\car.xml")).useDelimiter("\\Z").next();
		String [] valuex = value.split("</ResultHeader>",-1);
		String [] valuey = value.split("<ResultHeader>", -1);
		String msg = "";
		String x = valuey[0]+valuex[1];
		
		Reader reader = new StringReader(value);
		XMLInputFactory factory = XMLInputFactory.newInstance(); // Or newFactory()
		XMLStreamReader xsr = factory.createXMLStreamReader(reader);
		Reader readerx = new StringReader(x);
		XMLInputFactory factoryx = XMLInputFactory.newInstance(); // Or newFactory()
		XMLStreamReader xsrx = factoryx.createXMLStreamReader(readerx);
        xsr.nextTag();
        xsrx.nextTag();
        while(!xsr.getLocalName().equals("ResultHeader")) {
        	xsr.nextTag();
        }
        while(!xsrx.getLocalName().equals("AdjustmentResult")) {
        	xsrx.nextTag();
        }
        
        JAXBContext jc = JAXBContext.newInstance(AdjustmentRequestRes.class);
        
        Unmarshaller unmarshaller = jc.createUnmarshaller();
        
        JAXBElement<AdjustmentRequestRes> jb = unmarshaller.unmarshal(xsrx, AdjustmentRequestRes.class);
        xsrx.close();

        adj = jb.getValue();
        
        jc = JAXBContext.newInstance(ResultHeader.class);
        unmarshaller = jc.createUnmarshaller();
        JAXBElement<ResultHeader> jbe = unmarshaller.unmarshal(xsr, ResultHeader.class);
        
        res = jbe.getValue();

        System.out.println("getVersion:"+res.getVersion());
        System.out.println("getMsgLanguageCode:"+res.getMsgLanguageCode());

        System.out.println("getAcctKey:"+adj.getAcctKey());
        System.out.println("getBalanceID:"+adj.getAdjustmentInfo().get(0).getBalanceID());
        
        //System.out.println("Version:"+customer.getresultHeader().getVersion());
        /*
        System.out.println("ResultCode:"+customer.ResultCode);
        System.out.println("MsgLanguageCode:"+customer.MsgLanguageCode);
        System.out.println("ResultDesc:"+customer.ResultDesc);
        System.out.println("AcctKey:"+customer.AcctKey);
        
        
        System.out.println("BalanceID:"+customer.AdjustmentInfo.get(0).getBalanceID());
        System.out.println("BalanceType:"+customer.AdjustmentInfo.get(0).getBalanceType());
        System.out.println("BalanceTypeName:"+customer.AdjustmentInfo.get(0).getBalanceTypeName());
        System.out.println("CurrencyID:"+customer.AdjustmentInfo.get(0).CurrencyID);
        System.out.println("NewBalanceAmt:"+customer.AdjustmentInfo.get(0).NewBalanceAmt);
        System.out.println("OldBalanceAmt:"+customer.AdjustmentInfo.get(0).OldBalanceAmt);
        */
		
	}
}