Java调用webService接口方法总结

1、使用xfire调用WebService方式一
步骤:
1、创建org.codehaus.xfire.client.Client实例
    Client  c =  new Client  (new  java.net.URL.URL( "WebService 的wsdl 地址" ) );
2、调用webservice方法
     String result = (String)c. invoke( "WebService方法名" new  Object[]{ "参数" });

     这种方式算是最简单的一种,但是不推荐使用,因为这种方式依赖jar包: XmlSchema-1.4.7,这个jar包好像已经不再维护了,而且有个和这个jar包很像的jar包xmlschema-core-2.0.1,仍在维护。
     xmlschema-core-2.0.1和XmlSchema-1.4.7里面的方法基本都一样,但就是那一小部分区别导致如果引入xmlschema-core-2.0.1这个jar包,上面的代码就不能正确运行。   


2、使用使用xfire调用WebService方式二
      步骤:
      1、首先创建一个WebService的接口(比如命名:ITest),接口里面定义需要调用的方法包括参数。
      2、使用 org.codehaus.xfire.service.binding.ObjectServiceFactory.创建xfire.Service
           Service serviceModel = new ObjectServiceFactory() .create( ITest.class, null, 
"webservice的wsdl地址" , null);
      3、使用org.codehaus.xfire.client.XFireProxyFactory创建webservice接口实例
           ITest  itest = (ITest)  new   XFireProxyFactory().create( serviceModel, "webservice地址" );
      4、通过接口实例调用webservice方法
           String result =  itest.方法名( "参数" );
     
       这种方式比较常用,唯一有点不足的地方就是需要按照调用的方法创建相应的接口,不过可以接受。


3、使用apache的axis调用WebService
      步骤:
       1、使用org.apache.axis.client.Service创建org.apache.axis.client.Call
        Call call =  new  Service. createCall();
       2、通过call设置调用地址、方法、参数和返回值
        call.setTargetEndpointAddress( "地址" );// 远程调用路径
        call.setOperationName( "方法" );// 调用的方法名
        call.addParameter( "参数1", "参数类型", "出入参标志" );
        call.addParameter( "参数2", "参数类型", "出入参标志" );
       ...
        call.setReturnType( "返回值类型" );// 返回值类型:String
       3、方法调用
       String result = (String) call.invoke( new  Object[]{"参数对应的值"})

        apache提供的方式,依赖apache提供的几个jar包,调用过程比较简单,推荐使用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值