/**
*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);
}
}