网络是局域网,传输过程不知道是否丢包,对方收到时会报java.io.EOFException...
webService有没有传输大小的限制啊,我在网上看到别人传几十M都没问题,我这边一般只能收到几K,最大的时候是3K,对方发了7K,这是什么情况?
webService有没有传输大小的限制啊,我在网上看到别人传几十M都没问题,我这边一般只能收到几K,最大的时候是3K,对方发了7K,这是什么情况?
解决方案 »
- 启动Tomcat时报错非常多,初学Spring + struts3 + MyBatis
- org.hibernate.LazyInitializationException: could not initialize proxy 这是什么错
- 100M文件用什么方式下载比较好
- tomcat 启动时运行自己的jar代码怎么写?
- 有谁用过win2k的ad活动目录的,帮帮忙!
- ejb入门-关于bmp的问题
- 如何编译引入了struts的代码
- 今个把StrutsTestCase弄通了,高兴.散分.
- 大家认为WEBSERVICES成熟了吗,是否已经有企业开始应用了?
- j2ee编写ejb的时候,InitContext()方法要进行初始化加协议和url地址,如何来写?急!急!急!急!急!急!急!急!急!急!急!急!急!急!急!急!急!急!急!急!急!急!急!急!
- 财付通代付接口中文乱码
- 关于java生成word的问题
public static byte[] writeList2ByteArray(List objList) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = null;
try {
oos = new ObjectOutputStream(baos);
oos.writeObject(objList);
return baos.toByteArray();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
oos.close();
baos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
return null;
}public static List readFromByte(byte[] b) {
ByteArrayInputStream bais = new ByteArrayInputStream(b);
ObjectInputStream ois = null;
try {
ois = new ObjectInputStream(bais);
Serializable obj = (Serializable) ois.readObject();
if (obj instanceof List) {
return (List) obj;
}
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
try {
ois.close();
bais.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
return null; }public OptionResult doPost(String tablename,String seqname,int localseq,int lastsyncseq,byte[] b,List<TableInfo> tlist) {
logger.info("\n\n\n%%%%%% tablename " + tablename+" ,receive byte :" + (b == null?0 : b.length) + " %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n\n\n");
OptionResult result = new OptionResult();
try{
if(b == null || b.length == 0){
result.setSuccess(true);
result.setMsg("无数据,忽略");
return result;
}
logger.info("对象机:" + DbSyncConfig.TARGET_MACHINE_WEB_SERVICE_URL);
logger.info("开始同步doPost:tablename="+ tablename +",lastsyncseq="+lastsyncseq + ",localseq="+localseq);
com.cimc.imeeting.webservice.syn.client.DbSyncronizer service = new com.cimc.imeeting.webservice.syn.client.DbSyncronizer();
com.cimc.imeeting.webservice.syn.client.DbSyncronizerPortType portType = service.getDbSyncronizerHttpPort();
com.cimc.imeeting.webservice.syn.client.OptionResult or = portType.doWrite(tablename,seqname, localseq, lastsyncseq,b);
if(or.isSuccess()){
for(TableInfo ti : tlist){
if(tablename.equals(ti.getTablename())){
ti.setLastsyncseqwrite(localseq);
}
}
XmlUtilSync.getInstance().saveXml(tlist);
logger.info("本次同步结果保存到本地文件OKAY:tablename="+ tablename +",lastsyncseq="+lastsyncseq + ",localseq="+localseq);
} else{
logger.info("对象机操作失败,失败原因是:" + or.getMsg());
}
result.setSuccess(true);
}catch (WebServiceException e) {
result.setMsg(e.getMessage());
result.setSuccess(false);
sendSMS(DbSyncConfig.SMS_NOTICE_CELLPHONE , DbSyncConfig.SMS_NOTICE_CONTENT_WEBSERVICE_CONNECTION_EXCEPTION + new Date().toString() + e.getMessage());
logger.error("WebServiceException :" + e.getMessage());
}catch(Exception ex){
result.setMsg(ex.getMessage());
result.setSuccess(false);
}
return result;
}public OptionResult doWrite(String tablename, String seqname, int localseq,
int lastsyncseq, byte[] b) {
OptionResult result = new OptionResult();
try{
//FIXME check the data before write.
DBUtil util = new DBUtil();
int lastId = util.writeToLocal(tablename, b);
result.setSuccess(true);
result.setMsg(lastId + "");
}catch(Exception ex){
result.setMsg(ex.getMessage());
result.setSuccess(false);
}
return result;
}上面是序列化和反序列化,还有调用的代码,异常就出在反序列化中抛出的!
求帮忙检查一下啊,代码有点多,这里就贴出了部分核心代码了
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281)
at java.io.ObjectInputStream$BlockDataInputStream.readUTFBody(ObjectInputStream.java:3019)
at java.io.ObjectInputStream$BlockDataInputStream.readUTF(ObjectInputStream.java:2820)
at java.io.ObjectInputStream.readUTF(ObjectInputStream.java:1051)
at java.io.ObjectStreamClass.readNonProxy(ObjectStreamClass.java:616)
at java.io.ObjectInputStream.readClassDescriptor(ObjectInputStream.java:809)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1565)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at java.util.ArrayList.readObject(ArrayList.java:593)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at com.cimc.imeeting.webservice.syn.DBUtil.readFromByte(DBUtil.java:329)
at com.cimc.imeeting.webservice.syn.DBUtil.writeToLocal(DBUtil.java:370)
at com.cimc.imeeting.webservice.syn.DbSyncronizerImpl.doWrite(DbSyncronizerImpl.java:164)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.xfire.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:59)
at org.codehaus.xfire.service.invoker.ObjectInvoker.invoke(ObjectInvoker.java:45)
at org.codehaus.xfire.service.binding.ServiceInvocationHandler.sendMessage(ServiceInvocationHandler.java:320)
at org.codehaus.xfire.service.binding.ServiceInvocationHandler$1.run(ServiceInvocationHandler.java:86)
at org.codehaus.xfire.service.binding.ServiceInvocationHandler.execute(ServiceInvocationHandler.java:134)
at org.codehaus.xfire.service.binding.ServiceInvocationHandler.invoke(ServiceInvocationHandler.java:109)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
at org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
at org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:304)
at org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:129)
at org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:102)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)