注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

无线时代辐射无穷

抓紧生宝宝,小心辐射

 
 
 

日志

 
 

用Java调用WebService接口  

2010-03-31 15:43:06|  分类: java |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

上一篇文章说的是直接用axis来进行webservice调用,这种方法比较原始,而且容易出错,比如你设置的返回类型如果和wsdl中定义的类型不同的话,就会抛出异常。其实,可以完全屏蔽对底层的操作,而把这些操作留给代理类去实现。代理类一般由开发工具生成,不如JBuilder,wsdl2java这些工具就可以根据wsdl文件生成对应的java类。这样操作代理类进行调用,就方便多了。这里用wsdl2java来举例,看看怎样通过代理调用webservice接口的。

1.获得wsdl2java

wsdl2java是axis2的一个工具,首先到http://ws.apache.org/axis2/download/1_3/download.cgi下载得到axis2的开发包。

2.通过wsdl2java

进入axis2/bin目录,运行wsdl2java -uri xxx.wsdl,这样,就会将wsdl文件转换为对应的java文件。其中包括一个Stub文件和一个CallbackHandler。

3.通过Stub调用webservice接口

 

public static void callWebService() ...{
        try ...{
            //获得Stub实例
            CopartnerServiceStub s = new CopartnerServiceStub();
            CopartnerServiceStub.CheckUserService srv = new CopartnerServiceStub.CheckUserService();
           
            //设置接口参数
            srv.setUserId(WebServiceTest.USER_ID);
            srv.setCheckCode(WebServiceTest.CHECK_CODE);
           
            //得到返回值
            CheckUserServiceResponse res = s.CheckUserService(srv);
           
            ReturnValue ss = res.getCheckUserServiceResult();
           
            System.out.println(ss.getDescript());
                  } catch (Exception e) ...{
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
       
    }
ok,这样比自己去操作soap要简单多了,而且不会出现soap异常。

  评论这张
 
阅读(1291)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017