Java调用webservice上传文件

String responseSoap = ""; 

String sub = oldfile.substring(oldfile.indexOf('.'), oldfile.length());

byte[] bytes = mFile.getBytes();
responseSoap  = webService(bytes, sub);


/**

     * 在这里写入读取的ASMX信息
     */
    public String webService(byte[] bytes, String fileExtension) {
        String url="http://192.168.18.202:8001/WebServices/FileUpload.asmx";//提供接口的地址
        String soapaction="http://tempuri.org/";   //域名,这是在server定义的
        Service service=new Service();
        String uploadFile= "";
        try{
            Call call=(Call)service.createCall();            
            call.setTargetEndpointAddress(url);            
            call.setOperationName(new QName(soapaction,"UploadFile")); //设置要调用哪个方法
            call.addParameter(new QName(soapaction,"buffer"), //设置要传递的参数
                    org.apache.axis.encoding.XMLType.SOAP_BASE64BINARY,
                    javax.xml.rpc.ParameterMode.IN);
            call.addParameter(new QName(soapaction,"extendName"), //设置要传递的参数
                    org.apache.axis.encoding.XMLType.XSD_STRING,
                    javax.xml.rpc.ParameterMode.IN);
            call.addParameter(new QName(soapaction,"sign"), //设置要传递的参数
                    org.apache.axis.encoding.XMLType.XSD_STRING,
                    javax.xml.rpc.ParameterMode.IN);
            //call.setReturnType(new QName(soapaction,"UploadFile"),Vector.class); //要返回的数据类型(自定义类型)
            call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//(标准的类型)
            call.setUseSOAPAction(true);
            call.setSOAPActionURI(soapaction + "UploadFile");    
                        
            uploadFile=(String)call.invoke(new Object[]{bytes,fileExtension,"成功"});//调用方法并传递参数        
            System.out.println(uploadFile);
        }catch(Exception ex)
        {
        ex.printStackTrace();
        }      
        return uploadFile;
    }
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值