小白的一生

把青春奉献给了理想

用户操作
[即时聊天] [发私信] [加为好友]
luciferID:leo821031
30161次访问,排名4064(1),好友0人,关注者1人。
leo821031的文章
原创 55 篇
翻译 0 篇
转载 0 篇
评论 15 篇
leo821031的公告
年轻无所谓!支持开源!
最近评论
laoshou77:怎么struts2.0有点像jstl标签 了
shashawaityou:太伟大了
fei521sha:thanks
tancaiyi:谢谢,受益匪浅
大中华办公软件在线:大中华办公软件在线 http://www.gcoso.com 办公资源下载站
文章分类
收藏
    相册
    小白的一生
    JAVA技术网站
    CSDN
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 Log4j 生成 xml soap 流收藏

    新一篇: MYSQL5 中文无法插入 Data too long for column  | 旧一篇: 我对EJB3调用原理的彻底理解

    /**
     *May 10, 2007
     * Zhou JianGuo
     * 小白
     * 中国电信上海技术研究院
     * MSN:zhuojianguo_leo@hotmail.com
     */
    package com.telecom.soap.action;

    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.List;

    import javax.servlet.http.HttpServletResponse;

    import org.dom4j.Document;

    import org.dom4j.io.OutputFormat;
    import org.dom4j.io.XMLWriter;

    import com.procedure.hibernate.dao.GenticDAOFactory;
    import com.procedure.hibernate.oracle10.getHibernateTemplate.model.DeviceInfo;
    import com.procedure.hibernate.oracle10.getHibernateTemplate.model.DeviceInfoFtp;
    import com.procedure.hibernate.oracle10.getHibernateTemplate.model.VideoFlat;
    import com.telecom.soap.service.SoapService;

    /**
     *May 10, 2007
     * Zhou JianGuo
     * 小白
     * 中国电信上海技术研究院
     * MSN:zhuojianguo_leo@hotmail.com
     */
    public class XMLPacketWriter extends DefineElement{

     /**
      *
      */
     private XMLPacketWriter() {
      // TODO Auto-generated constructor stub
     }

     public static XMLPacketWriter getInstance()
     {
      return new XMLPacketWriter();
     }
     SoapService soapService;

     /*
      * the xml stream out by Response
      */
     int xmlLength;
     public void createResponse(HttpServletResponse response,String ID)
     {
      xmlLength="<?xml version=\"1.0\" encoding=\"UTF-8\" ?>".getBytes().length+xmlLength;
      System.out.println(xmlLength);
      document = ParseDocument.getInstance().createDocument();
      xmlLength="<IpCam_CfgResponse>".getBytes().length+xmlLength;
      xmlLength="</IpCam_CfgResponse>".getBytes().length+xmlLength;
      System.out.println(xmlLength);
      IpCam_CfgResponse = ParseElement.getInstance().createElement(null, "IpCam_CfgResponse",document);
      xmlLength="<!-********   Zhou JianGuo  ********-->".getBytes().length+xmlLength;
      IpCam_CfgResponse.addComment("********   Zhou JianGuo  ********");
      System.out.println(xmlLength);
      ID="cam14";

      try
      {
       DeviceInfo info=new DeviceInfo();
       VideoFlat sip=new VideoFlat();
       List listInfo=new ArrayList();
       String infoHQL="from DeviceInfo d where d.numb='"+ID+"'";
       listInfo=GenticDAOFactory.getFactory().getInstance().select(infoHQL);
       if(listInfo.size()==1)
       {

        info=(DeviceInfo) listInfo.get(0);
        
        /*
         * SipService
         */
         sip=(VideoFlat) GenticDAOFactory.getFactory().getInstance().findObjectById(VideoFlat.class, info.getVideoFlat().getId());
         xmlLength="<SipService>".getBytes().length+xmlLength;
         xmlLength="</SipService>".getBytes().length+xmlLength;
         System.out.println(xmlLength);
         SipService=ParseElement.getInstance().createElement(IpCam_CfgResponse,"SipService",document);
         xmlLength="<EnableSIPService>".getBytes().length+xmlLength;
         xmlLength="</EnableSIPService>".getBytes().length+xmlLength;
         System.out.println(xmlLength);
         EnableSIPService=ParseElement.getInstance().createElement(SipService,"EnableSIPService",document);
         if(info.getEnable()!=null)
         {
          xmlLength=info.getEnable().getBytes().length+xmlLength;
          ParseElement.getInstance().setText(EnableSIPService, info.getEnable());
         }else
         {
          xmlLength="0".getBytes().length+xmlLength;
          ParseElement.getInstance().setText(EnableSIPService, "0");
         }
         System.out.println(xmlLength);
         xmlLength="<SIPUsername>".getBytes().length+xmlLength;
         xmlLength="</SIPUsername>".getBytes().length+xmlLength;
         SIPUsername=ParseElement.getInstance().createElement(SipService,"SIPUsername",document);
         if(sip.getSipname()!=null)
         {
          xmlLength=sip.getSipname().getBytes().length+xmlLength;
          ParseElement.getInstance().setText(SIPUsername, sip.getSipname());
         }else
         {
          xmlLength="".getBytes().length+xmlLength;
          ParseElement.getInstance().setText(SIPUsername, "");
         }
         System.out.println(xmlLength);
         xmlLength="<SIPPassword>".getBytes().length+xmlLength;
         xmlLength="</SIPPassword>".getBytes().length+xmlLength;
         SIPPassword=ParseElement.getInstance().createElement(SipService,"SIPPassword",document);
         if(sip.getSippassword()!=null)
         {
          xmlLength=sip.getSippassword().getBytes().length+xmlLength;
          ParseElement.getInstance().setText(SIPPassword, sip.getSippassword());
         }else
         {
          xmlLength="".getBytes().length+xmlLength;
          ParseElement.getInstance().setText(SIPPassword, "");
         }
         System.out.println(xmlLength);
         xmlLength="<SIPServerIP>".getBytes().length+xmlLength;
         xmlLength="</SIPServerIP>".getBytes().length+xmlLength;
         SIPServerIP=ParseElement.getInstance().createElement(SipService,"SIPServerIP",document);
         if(sip.getSiparea()!=null)
         {
          xmlLength=sip.getSiparea().getBytes().length+xmlLength;
          ParseElement.getInstance().setText(SIPServerIP, sip.getSiparea());
         }else
         {
          xmlLength="0.0.0.0".getBytes().length+xmlLength;
          ParseElement.getInstance().setText(SIPServerIP, "0.0.0.0");
         }
         System.out.println(xmlLength);
         xmlLength="<SIPServerPort>".getBytes().length+xmlLength;
         xmlLength="</SIPServerPort>".getBytes().length+xmlLength;
         SIPServerPort=ParseElement.getInstance().createElement(SipService,"SIPServerPort",document);
         if(sip.getSipport()!=null)
         {
          xmlLength=sip.getSipport().getBytes().length+xmlLength;
          ParseElement.getInstance().setText(SIPServerPort, sip.getSipport());
         }else
         {
          xmlLength="0".getBytes().length+xmlLength+1;
          ParseElement.getInstance().setText(SIPServerPort, "0");
         }
         System.out.println("SipService="+xmlLength);
         
         /*
          *
          * CamSetting
          */
         xmlLength="<CamSetting>".getBytes().length+xmlLength;
         xmlLength="</CamSetting>".getBytes().length+xmlLength;
         CamSetting=ParseElement.getInstance().createElement(IpCam_CfgResponse,"CamSetting",document);
         xmlLength="<Rotation>".getBytes().length+xmlLength;
         xmlLength="</Rotation>".getBytes().length+xmlLength;
         Rotation=ParseElement.getInstance().createElement(CamSetting,"Rotation",document);
         if(info.getSystemAutoRebootEnable()!=null)
         {
          xmlLength="0".getBytes().length+xmlLength;
          ParseElement.getInstance().setText(Rotation, "0");
         }else
         {
          xmlLength="0".getBytes().length+xmlLength;
          ParseElement.getInstance().setText(Rotation, "0");
         }
         xmlLength="<Location>".getBytes().length+xmlLength;
         xmlLength="</Location>".getBytes().length+xmlLength;
         Location=ParseElement.getInstance().createElement(CamSetting,"Location",document);
         if(info.getSystemAutoRebootTime()!=null)
         {
          xmlLength="0".getBytes().length+xmlLength;
          ParseElement.getInstance().setText(Location, "0");
         }else
         {
          xmlLength="0".getBytes().length+xmlLength;
          ParseElement.getInstance().setText(Location, "0");
         }
         System.out.println("camsetting="+xmlLength);

         /*
          * System
          */
         xmlLength="<SystemSet>".getBytes().length+xmlLength;
         xmlLength="</SystemSet>".getBytes().length+xmlLength;
         SystemSet=ParseElement.getInstance().createElement(IpCam_CfgResponse,"SystemSet",document);
         xmlLength="<SystemAutoRebootEnable>".getBytes().length+xmlLength;
         xmlLength="</SystemAutoRebootEnable>".getBytes().length+xmlLength;
         SystemAutoRebootEnable=ParseElement.getInstance().createElement(SystemSet,"SystemAutoRebootEnable",document);
         if(info.getSystemAutoRebootEnable()!=null)
         {
          xmlLength=info.getSystemAutoRebootEnable().getBytes().length+xmlLength;
          ParseElement.getInstance().setText(SystemAutoRebootEnable, info.getSystemAutoRebootEnable());
         }else
         {
          xmlLength="0".getBytes().length+xmlLength+1;
          ParseElement.getInstance().setText(SystemAutoRebootEnable, "0");
         }
         xmlLength="<SystemAutoRebootTime>".getBytes().length+xmlLength;
         xmlLength="</SystemAutoRebootTime>".getBytes().length+xmlLength;
         SystemAutoRebootTime=ParseElement.getInstance().createElement(SystemSet,"SystemAutoRebootTime",document);
         SimpleDateFormat now =new SimpleDateFormat("hh:mm:ss");
         String rebootTime = now.format(info.getSystemAutoRebootTime());
         if(info.getSystemAutoRebootTime()!=null)
         {
          xmlLength=rebootTime.getBytes().length+xmlLength;
          ParseElement.getInstance().setText(SystemAutoRebootTime, rebootTime);
         }else
         {
          xmlLength="00:00:01".getBytes().length+xmlLength;
          ParseElement.getInstance().setText(SystemAutoRebootTime, "00:00:01");
         }
         System.out.println("system="+xmlLength);
         
         /*
          * FTP
          */
         DeviceInfoFtp DeviceInfoFtp=new DeviceInfoFtp();
         List DeviceInfoFtpList=new ArrayList();
         DeviceInfoFtpList=(ArrayList) GenticDAOFactory.getFactory().getInstance().select("from DeviceInfoFtp f where f.deviceInfo.id='"+info.getId()+"'");
         if(DeviceInfoFtpList.size()==1)
         {
          DeviceInfoFtp=(DeviceInfoFtp) DeviceInfoFtpList.get(0);
          xmlLength="<FTPUpLoad>".getBytes().length+xmlLength;
          xmlLength="</FTPUpLoad>".getBytes().length+xmlLength;
          FTPUpLoad=ParseElement.getInstance().createElement(IpCam_CfgResponse,"FTPUpLoad",document);
          xmlLength="<EnableFTPService>".getBytes().length+xmlLength;
          xmlLength="</EnableFTPService>".getBytes().length+xmlLength;
          EnableFTPService=ParseElement.getInstance().createElement(FTPUpLoad,"EnableFTPService",document);
          if(DeviceInfoFtp.getVideoFtp().getEnable()!=null)
          {
           xmlLength=DeviceInfoFtp.getVideoFtp().getEnable().getBytes().length+xmlLength;
           ParseElement.getInstance().setText(EnableFTPService, DeviceInfoFtp.getVideoFtp().getEnable());
          }else
          {
           xmlLength="0".getBytes().length+xmlLength;
           ParseElement.getInstance().setText(EnableFTPService, "0");
          }
          xmlLength="<Ftp_Server>".getBytes().length+xmlLength;
          xmlLength="</Ftp_Server>".getBytes().length+xmlLength;
          Ftp_Server=ParseElement.getInstance().createElement(FTPUpLoad,"Ftp_Server",document);
          if(DeviceInfoFtp.getVideoFtp().getServer()!=null)
          {
           xmlLength=DeviceInfoFtp.getVideoFtp().getServer().getBytes().length+xmlLength;
           ParseElement.getInstance().setText(Ftp_Server, DeviceInfoFtp.getVideoFtp().getServer());
          }else
          {
           xmlLength="0.0.0.0".getBytes().length+xmlLength;
           ParseElement.getInstance().setText(Ftp_Server, "0.0.0.0");
          }
          xmlLength="<Ftp_Port>".getBytes().length+xmlLength;
          xmlLength="</Ftp_Port>".getBytes().length+xmlLength;
          Ftp_Port=ParseElement.getInstance().createElement(FTPUpLoad,"Ftp_Port",document);
          if(DeviceInfoFtp.getVideoFtp().getPort()!=null)
          {
           xmlLength= DeviceInfoFtp.getVideoFtp().getPort().getBytes().length+xmlLength;
           ParseElement.getInstance().setText(Ftp_Port, DeviceInfoFtp.getVideoFtp().getPort());
          }else
          {
           xmlLength="0".getBytes().length+xmlLength;
           ParseElement.getInstance().setText(Ftp_Port, "0");
          }
          xmlLength="<Ftp_UserAccount>".getBytes().length+xmlLength;
          xmlLength="</Ftp_UserAccount>".getBytes().length+xmlLength;
          Ftp_UserAccount=ParseElement.getInstance().createElement(FTPUpLoad,"Ftp_UserAccount",document);
          if(DeviceInfoFtp.getVideoFtp().getAccount()!=null)
          {
           xmlLength=DeviceInfoFtp.getVideoFtp().getAccount().getBytes().length+xmlLength;
           ParseElement.getInstance().setText(Ftp_UserAccount, DeviceInfoFtp.getVideoFtp().getAccount());
          }else
          {
           xmlLength="".getBytes().length+xmlLength;
           ParseElement.getInstance().setText(Ftp_UserAccount, "");
          }
          xmlLength="<Ftp_Passwd>".getBytes().length+xmlLength;
          xmlLength="</Ftp_Passwd>".getBytes().length+xmlLength;
          Ftp_Passwd=ParseElement.getInstance().createElement(FTPUpLoad,"Ftp_Passwd",document);
          if(DeviceInfoFtp.getVideoFtp().getPassword()!=null)
          {
           xmlLength=DeviceInfoFtp.getVideoFtp().getPassword().getBytes().length+xmlLength;
           ParseElement.getInstance().setText(Ftp_Passwd, DeviceInfoFtp.getVideoFtp().getPassword());
          }else
          {
           xmlLength="".getBytes().length+xmlLength;
           ParseElement.getInstance().setText(Ftp_Passwd, "");
          }
          xmlLength="<Ftp_Mode>".getBytes().length+xmlLength;
          xmlLength="</Ftp_Mode>".getBytes().length+xmlLength;
          Ftp_Mode=ParseElement.getInstance().createElement(FTPUpLoad,"Ftp_Mode",document);
          if(DeviceInfoFtp.getVideoFtp().getFtpmode()!=null)
          {
           xmlLength=DeviceInfoFtp.getVideoFtp().getFtpmode().getBytes().length+xmlLength;
           ParseElement.getInstance().setText(Ftp_Mode, DeviceInfoFtp.getVideoFtp().getFtpmode());
          }else
          {
           xmlLength="".getBytes().length+xmlLength;
           ParseElement.getInstance().setText(Ftp_Mode, "");
          }
         }else
         {
          XMLPacketWriter.getInstance().createErrorResponse(response,"SipService407");//数据对象不唯一
         }
         
         System.out.println("ftp="+xmlLength);
         

         /*
          * FTPConfig
          */
         xmlLength="<FTPConfigFile>".getBytes().length+xmlLength;
         xmlLength="</FTPConfigFile>".getBytes().length+xmlLength;
         FTPConfigFile=ParseElement.getInstance().createElement(IpCam_CfgResponse,"FTPConfigFile",document);
         xmlLength="<EnableUpDate>".getBytes().length+xmlLength;
         xmlLength="</EnableUpDate>".getBytes().length+xmlLength;
         EnableUpDate=ParseElement.getInstance().createElement(FTPConfigFile,"EnableUpDate",document);
         SimpleDateFormat simpaleDate =new SimpleDateFormat("yyyy-MM-dd");
         Date date=new Date();
         String upDate = simpaleDate.format(date);
         xmlLength=upDate.getBytes().length+xmlLength;
         ParseElement.getInstance().setText(EnableUpDate, upDate);
         xmlLength="<Ftp_Server>".getBytes().length+xmlLength;
         xmlLength="</Ftp_Server>".getBytes().length+xmlLength;
         Ftp_Server=ParseElement.getInstance().createElement(FTPConfigFile,"Ftp_Server",document);
         if(DeviceInfoFtp.getVideoFtp().getServer()!=null)
         {
          xmlLength=DeviceInfoFtp.getVideoFtp().getServer().getBytes().length+xmlLength;
          ParseElement.getInstance().setText(Ftp_Server, DeviceInfoFtp.getVideoFtp().getServer());
         }else
         {
          xmlLength="0.0.0.0".getBytes().length+xmlLength;
          ParseElement.getInstance().setText(Ftp_Server, "0.0.0.0");
         }
         xmlLength="<Ftp_Port>".getBytes().length+xmlLength;
         xmlLength="</Ftp_Port>".getBytes().length+xmlLength;
         Ftp_Port=ParseElement.getInstance().createElement(FTPConfigFile,"Ftp_Port",document);
         if(DeviceInfoFtp.getVideoFtp().getPort()!=null)
         {
          xmlLength=DeviceInfoFtp.getVideoFtp().getPort().getBytes().length+xmlLength;
          ParseElement.getInstance().setText(Ftp_Port, DeviceInfoFtp.getVideoFtp().getPort());
         }else
         {
          xmlLength="".getBytes().length+xmlLength;
          ParseElement.getInstance().setText(Ftp_Port, "");
         }
         xmlLength="<Ftp_UserAccount>".getBytes().length+xmlLength;
         xmlLength="</Ftp_UserAccount>".getBytes().length+xmlLength;
         Ftp_UserAccount=ParseElement.getInstance().createElement(FTPConfigFile,"Ftp_UserAccount",document);
         if(DeviceInfoFtp.getVideoFtp().getAccount()!=null)
         {
          xmlLength=DeviceInfoFtp.getVideoFtp().getAccount().getBytes().length+xmlLength;
          ParseElement.getInstance().setText(Ftp_UserAccount, DeviceInfoFtp.getVideoFtp().getAccount());
         }else
         {
          xmlLength="".getBytes().length+xmlLength;
          ParseElement.getInstance().setText(Ftp_UserAccount, "");
         }
         xmlLength="<Ftp_Passwd>".getBytes().length+xmlLength;
         xmlLength="</Ftp_Passwd>".getBytes().length+xmlLength;
         Ftp_Passwd=ParseElement.getInstance().createElement(FTPConfigFile,"Ftp_Passwd",document);
         if(DeviceInfoFtp.getVideoFtp().getPassword()!=null)
         {
          xmlLength=DeviceInfoFtp.getVideoFtp().getPassword().getBytes().length+xmlLength;
          ParseElement.getInstance().setText(Ftp_Passwd, DeviceInfoFtp.getVideoFtp().getPassword());
         }else
         {
          xmlLength="".getBytes().length+xmlLength;
          ParseElement.getInstance().setText(Ftp_Passwd, "");
         }
         xmlLength="<Ftp_Mode>".getBytes().length+xmlLength;
         xmlLength="</Ftp_Mode>".getBytes().length+xmlLength;
         Ftp_Mode=ParseElement.getInstance().createElement(FTPConfigFile,"Ftp_Mode",document);
         if(DeviceInfoFtp.getVideoFtp().getFtpmode()!=null)
         {
          xmlLength=DeviceInfoFtp.getVideoFtp().getFtpmode().getBytes().length+xmlLength;
          ParseElement.getInstance().setText(Ftp_Mode, DeviceInfoFtp.getVideoFtp().getFtpmode());
         }else
         {
          xmlLength="".getBytes().length+xmlLength;
          ParseElement.getInstance().setText(Ftp_Mode, "");
         }
         xmlLength="<DownloadPath>".getBytes().length+xmlLength;
         xmlLength="</DownloadPath>".getBytes().length+xmlLength;
         DownloadPath=ParseElement.getInstance().createElement(FTPConfigFile,"DownloadPath",document);
         if(DeviceInfoFtp.getVideoFtp().getPath()!=null)
         {
          xmlLength=DeviceInfoFtp.getVideoFtp().getPath().getBytes().length+xmlLength;
          ParseElement.getInstance().setText(DownloadPath, DeviceInfoFtp.getVideoFtp().getPath());
         }else
         {
          xmlLength="".getBytes().length+xmlLength;
          ParseElement.getInstance().setText(DownloadPath, "");
         }
         xmlLength="<FirmwareName>".getBytes().length+xmlLength;
         xmlLength="</FirmwareName>".getBytes().length+xmlLength;
         FirmwareName=ParseElement.getInstance().createElement(FTPConfigFile,"FirmwareName",document);
         if(DeviceInfoFtp.getVideoFtp().getPath()!=null)
         {
          xmlLength="vimicro06.bin".getBytes().length+xmlLength;
          ParseElement.getInstance().setText(FirmwareName, "vimicro06.bin");
         }else
         {
          xmlLength="".getBytes().length+xmlLength;
          ParseElement.getInstance().setText(FirmwareName, "");
         }
         
         System.out.println("ftpconfig="+xmlLength);
         
         /*
          * DefaultVideoParams
          */
         xmlLength="<DefaultVideoParams>".getBytes().length+xmlLength;
         xmlLength="</DefaultVideoParams>".getBytes().length+xmlLength;
         DefaultVideoParams=ParseElement.getInstance().createElement(IpCam_CfgResponse,"DefaultVideoParams",document);
         xmlLength="<Width>".getBytes().length+xmlLength;
         xmlLength="</Width>".getBytes().length+xmlLength;
         Width=ParseElement.getInstance().createElement(DefaultVideoParams,"Width",document);
         xmlLength="320".getBytes().length+xmlLength;
         ParseElement.getInstance().setText(Width, "320");
         xmlLength="<Height>".getBytes().length+xmlLength;
         xmlLength="</Height>".getBytes().length+xmlLength;
         Height=ParseElement.getInstance().createElement(DefaultVideoParams,"Height",document);
         xmlLength="20".getBytes().length+xmlLength;
         ParseElement.getInstance().setText(Height, "20");
         xmlLength="<fps>".getBytes().length+xmlLength;
         xmlLength="</fps>".getBytes().length+xmlLength;
         fps=ParseElement.getInstance().createElement(DefaultVideoParams,"fps",document);
         xmlLength="10".getBytes().length+xmlLength;
         ParseElement.getInstance().setText(fps, "10");
         xmlLength="<fps_Force>".getBytes().length+xmlLength;
         xmlLength="</fps_Force>".getBytes().length+xmlLength;
         fps_Force=ParseElement.getInstance().createElement(DefaultVideoParams,"fps_Force",document);
         xmlLength="0".getBytes().length+xmlLength;
         ParseElement.getInstance().setText(fps_Force, "0");
         System.out.println("DefaultVideoParams="+xmlLength);
         
         /*
          * Cryptogram
          */
         xmlLength="<Cryptogram>".getBytes().length+xmlLength;
         xmlLength="</Cryptogram>".getBytes().length+xmlLength;
         Cryptogram=ParseElement.getInstance().createElement(IpCam_CfgResponse,"Cryptogram",document);
         xmlLength="xiao bai 2007".getBytes().length+xmlLength;
         ParseElement.getInstance().setText(Cryptogram, "xiao bai 2007");
         
         System.out.println("cyrptogram="+xmlLength);
         
         /*
          * Timer
          */
         xmlLength="<Timer>".getBytes().length+xmlLength;
         xmlLength="</Timer>".getBytes().length+xmlLength;
         Timer=ParseElement.getInstance().createElement(IpCam_CfgResponse,"Timer",document);
         SimpleDateFormat now1 =new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
         Date date1=new Date();
         String time = now1.format(date1);
         xmlLength=time.getBytes().length+xmlLength;
         ParseElement.getInstance().setText(Timer, time);//时间5月份的话,必须是05,必须2位,其他也一样
         
         System.out.println("timer="+xmlLength);
       }else
       {
        XMLPacketWriter.getInstance().createErrorResponse(response,"SipService407");//数据对象不唯一
       }
      }catch(Exception e)
      {
       XMLPacketWriter.getInstance().createErrorResponse(response,"SipService408");//取数据异常
      }

     
      try {
       this.XMLWriterSystem(response,document,xmlLength);
      } catch (IOException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }

      
     }
     public void XMLResponse(HttpServletResponse response,Document document)
     {
      try
      {
       String xmlAsString=document.asXML();
       PrintWriter = response.getWriter();
       
       PrintWriter.println(xmlAsString);
      }catch(IOException e)
          {
           //System.out.println(e.getMessage());
       PrintWriter.print("401");
         }finally
         {
          PrintWriter.flush();
          PrintWriter.close();
         }
      
      
     }
     public void XMLWriterSystem(HttpServletResponse response,Document document,int xmlLength) throws IOException
     {
      //  Pretty print the document to System.out
      /*
       * //有2种打印方法,漂亮的和紧凑的
       *     public static OutputFormat createPrettyPrint() {
            OutputFormat format = new OutputFormat();
            format.setIndentSize(2);
            format.setNewlines(true);
            format.setTrimText(true);
            format.setPadText(true);

            return format;
        }
        public static OutputFormat createCompactFormat() {
            OutputFormat format = new OutputFormat();
            format.setIndent(false);
            format.setNewlines(false);
            format.setTrimText(true);

            return format;
        }
       */
      OutputFormat format = OutputFormat.createCompactFormat();
      int length=document.asXML().toString().length();
      System.out.println("xmlLength="+xmlLength);
      System.out.println("length="+length);
      response .setContentLength(length);
    //  response.setContentLength(length+discrepancy);//用UltraEdit计算xml长度+183长度放入http协议里传输
      //response.setContentLength(1259);
      try
      {
       OutputStream=response.getOutputStream();
       XMLWriter = new XMLWriter( OutputStream, format );
       XMLWriter.write( document );
      }catch(Exception e)
      {
       e.printStackTrace();
      }finally
      {
       XMLWriter.close();
       OutputStream.flush();
       OutputStream.close();
       
      }
     }
     
     public void XMLWriterSystemFormat(HttpServletResponse response,Document document) throws IOException
     {
        // Compact format to System.out
      OutputFormat format = OutputFormat.createCompactFormat();
      try
      {
       OutputStream=response.getOutputStream();
       XMLWriter = new XMLWriter( OutputStream, format );
       XMLWriter.write( document );
      }catch(Exception e)
      {
       e.printStackTrace();
      }finally
      {
       OutputStream.flush();
       OutputStream.close();
       XMLWriter.flush();
       XMLWriter.close();
      }
     }
     public void XMLWriterFile(String fileNameAndPath,Document document)
     {
      try{
          XMLWriter output = new XMLWriter(new FileWriter( new File(fileNameAndPath) ));
              output.write( document );
              output.close();
         }catch(IOException e)
           {
            //System.out.println(e.getMessage());
          }
     }
     public void createErrorResponse(HttpServletResponse response,String error)
     {
      
      document = ParseDocument.getInstance().createDocument();
      IpCam_CfgResponse = ParseElement.getInstance().createElement(null, "IpCam_CfgResponse",document);
      IpCam_CfgResponse.addComment("********   Zhou JianGuo  ********");
      Error=ParseElement.getInstance().createElement(IpCam_CfgResponse,"Error",document);
      ParseElement.getInstance().setText(Error, error);
      try {
       this.XMLWriterSystem(response,document,0);
      } catch (IOException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }
     }
     /**
      * @return the soapService
      */
     public SoapService getSoapService() {
      return soapService;
     }

     /**
      * @param soapService the soapService to set
      */
     public void setSoapService(SoapService soapService) {
      this.soapService = soapService;
     }
     
     public static void main(String[] args)
     {
      String xmlTitle="<?xml version=\"1.0\" encoding=\"UTF-8\" ?>";
      String chsStr="</SipService>";
      System.out.println("xmlTitle="+xmlTitle+" 长度:"+xmlTitle.length());
      System.out.println("xmlTitle="+xmlTitle+" 流长度:"+xmlTitle.getBytes().length);
      System.out.println("chsStr="+chsStr+" 长度:"+chsStr.length());
      System.out.println("chsStr="+chsStr+" 流长度:"+chsStr.getBytes().length);
      
     }

    }
     

    发表于 @ 2007年05月30日 08:53:00|评论(loading...)|编辑

    新一篇: MYSQL5 中文无法插入 Data too long for column  | 旧一篇: 我对EJB3调用原理的彻底理解

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © leo821031