当前位置:编程学习 > JAVA >>

WebService 服务端接收客户端传输的附件不完整,急!!!!!!!!在线等......................

环境:WebLogic1001,AIX 6.1
问题描述:服务器短获得客户端通过soapMessage传送过来的附件文件不完整

客户端通过SOAPMessage的addAttachmentPart方式上传附件,主要代码如下


AttachmentPart part=soapMessage.createAttachmentPart();
part.setContentType("application/octet-stream");
FileDataSource fds=new FileDataSource(fullPathNm);
part.setDataHandler(new DataHandler(fds));
soapMessage.addAttachmentPart(part);


服务器段主要是对这个soapMessage进行处理 主要代码如下


it=soapMessage.getAttachments();
File outFile=null;

try{
  while(it.hasNext()){
     AttachmentPart part=(AttachementPart) it.next();
     outFile=new FileOutputStream(outFile); 
     os = new FileOutputStream(new File(dir,fileName));
     is = part.getDataHandler().getInputStream();
     byte [] b=new byte[8192];   
     int nr;
     while((nr = is.read(b)) != -1){
        //服务器段写入文件大小不争取,内容不完整
        os.write(b,0,nr);
     }
  }
}finally{
   os.close();
   is.close();
}


以上代码运行后,服务器端文件大小不完整。
以上问题已经分析一天了,没有找到原因
目前发现客户端确实上传了完整的文件
但是服务端获取的文件也确实不完整
难道传输有问题,会有什么问题?

有谁可以帮忙分析下,急,在线等

              
                
                    SOAPMessage
                    DataHandler
                    AttachementPart
                    InputStream
                
--------------------编程问答--------------------

            服务器短有大小限制?
        
--------------------编程问答--------------------

            单独要上传附件的话,可以用这个:
http://blog.csdn.net/jdgdf566/article/details/16357677 --------------------编程问答-------------------- 补充一下,该问题是系统升级引起的
原:weblogic814+jdk1.4
现: weblogic1001+jdk1.5
考虑到影响,最好不要改变文件上传方式。 --------------------编程问答-------------------- 目前不知道如何查看服务器端是否有大小限制,貌似没有。限制的情况是,上传同一个附件,50%上传完整,50%上传不完整 --------------------编程问答--------------------   byte [] b=new byte[8192];  

你限制了写入文件的大小,应该获取inputstream的有效字节:

int size=is.available();
byte[] b=new byte[size]; --------------------编程问答-------------------- byte [] b=new byte[8192]; 这个应该是缓冲存储区吧,和文件大小应该没有关系 --------------------编程问答-------------------- 感觉是传输限制
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,