MessageAnalysis.java 2.4 KB
package com.sy.bwAnalysis;

import com.sy.bwAssist.Message;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import com.thoughtworks.xstream.io.xml.XmlFriendlyNameCoder;

public class MessageAnalysis {

    public static Message message = null;

    public Message readTicketsXml(String str) {
        return getMessage(str);
    }

    static Message getMessage(String str) {
        XStream xstream = new XStream(new DomDriver("UTF-8", new XmlFriendlyNameCoder("_-", "_")));
        xstream.processAnnotations(Message.class);
        //对xstream对象设置默认的安全防护
        XStream.setupDefaultSecurity(xstream);
        //对xstream对象设置默认的安全防护时,允许设置类
        xstream.allowTypes(new Class[]{Message.class});
        message = (Message) xstream.fromXML(str);
        return message;
    }


/*    public static void main(String[] args) {
       Message msg =  new MessageAnalysis().readTicketsXml("<MSG> \n" +
               "                                  <META> \n" +
               "                                    <SNDR>NXCD</SNDR>  \n" +
               "                                    <RCVR/>  \n" +
               "                                    <SEQN>20190423105931</SEQN>  \n" +
               "                                    <DDTM>20190423105931</DDTM>  \n" +
               "                                    <TYPE>CUST</TYPE>  \n" +
               "                                    <STYP>CDHZ</STYP> \n" +
               "                                  </META>  \n" +
               "                                 <Manifest><Head><MessageID>CN_MT5202_1P0_460470678920X_20190423105611544</MessageID><FunctionCode>2</FunctionCode><MessageType>MT5202</MessageType><SenderID>EPORT</SenderID><ReceiverID>460470678920X_DXPENT0000019806</ReceiverID><SendTime>20190423105647834</SendTime><Version>1.0</Version></Head><Response><BorderTransportMeans><JourneyID>7L062/20190420</JourneyID><ID>7L062</ID></BorderTransportMeans><Consignment><TransportContractDocument><ID>50106370991</ID></TransportContractDocument><ResponseType><Code>01</Code><Text>35301 理货报告传输成功。比对结果为:理货正常。</Text></ResponseType></Consignment></Response></Manifest>\n" +
               "                                </MSG>");
        RESMESSAGE resmessage = new ResMessageAnalysis().saveEntry(msg.getManifest());
        System.out.println(resmessage);
    }*/


}