服务端上传文件方法:
函数原型:
String  uploadFile(String filename,byte[] attachinfo,String usertoken){....}
功能简介:
上传文件以附件的形式上传,文件格式zip格式
参数说明:
String filename上传文件名,byte[] attachinfo上传文件附件,String usertoken认证字符串 
【WSDL】
<xs:complexType name="uploadFile">
 <xs:sequence>
  <xs:element minOccurs="0" name="filename" type="xs:string"></xs:element>
  <xs:element minOccurs="0" name="attachinfo" ns1:expectedContentTypes="application/octet-stream" type="xs:base64Binary" xmlns:ns1="http://www.w3.org/2005/05/xmlmime"></xs:element>
  <xs:element minOccurs="0" name="arg2" type="xs:string"></xs:element>
 </xs:sequence>
</xs:complexType>
<xs:complexType name="uploadFileResponse">
 <xs:sequence>
  <xs:element minOccurs="0" name="return" type="xs:string"></xs:element>
 </xs:sequence>
</xs:complexType>
java客户端调用方法 用这种方法怎么写??
怎样把要上传的ZIP文件 转换成byte[]

public String uploadFile (String usertoken){
  try
  {
    namespace="....";省略了
    methodName="....";
    url="...";    Service service = new Service();  
    call = (Call)service.createCall();
    call.setTargetEndpointAddress(new java.net.URL(url)); 
    call.setUseSOAPAction(true);
    call.setOperationName(new QName(namespace, methodName));   
    call.addParameter("filename", XMLType.XSD_STRING, ParameterMode.IN); 
    //参数attachinfo--XMLType怎样指定???
    call.addParameter("attachinfo", XMLType.XSD_BYTE, ParameterMode.IN);   
    call.addParameter("arg2", XMLType.XSD_STRING, ParameterMode.IN);
    call.setReturnType(XMLType.XSD_STRING);  //返回值类型,这里为String数组
  
    result = (String)call.invoke(new Object[]{ file_name,?应该传入的参数? ,usertoken });  
  }
  catch(Exception ex){
    System.err.println(ex.toString());
  }
  return result; 
 }
请高人指定,谢谢!! 

解决方案 »

  1.   

    用文件流,将 zip 转换成 byte[] 试试。
      

  2.   

    转过了  提示错误javax.xml.rpc.JAXRPCException: Number of parameters passed in (3) doesn't match the number of IN/INOUT parameters (5) from the addParameter() calls
      

  3.   

    搜到一篇文章,也许有用。
    http://www.ibm.com/developerworks/cn/webservices/ws-lob/
      

  4.   

    这一块我不太熟,群里的public_static比较熟,可她今天休假.