webservice客户端教程

2 篇文章 0 订阅
1 篇文章 0 订阅

虽然目前rest(json)风格成为当前主流的数据传输格式,但是项目中避免不了涉及到socket、webservice接口对接/调用的情况,本博客主要针对客户端调用webservice服务端的情况,写webservice服务端并发布不是此博客重点。

附:公网webservice地址:http://www.webxml.com.cn

以查询号码归属地为例:

点击上图信息时将跳转到手机号归属地webservice服务器地址。(主要以getMobileCodeInfo 为例)

一、阅读wsdl

wsdl就是接口api文档,只不过是使用xml编写而已。

所以遵循webservice标准的wsdl文档都是url+?wsdl访问,比如手机号归属地

http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl

 

 

阅读wsdl文档

1、从下向上看 ->找到<wsdl:service> 这就是定义的服务端点,我们看到有四个<wsdl:port>标签,正常就为四个服务,此处提供四个服务是包含了soap,soap12,httpGet,httpPost,分别支持soap和soap1.2协议,http的get和post请求。

具体选择哪种方式请求,根据自己实际选择。

2、比如选择MobileCodeWSHttpGet,标签中定义了binding标签,binding="tns:MobileCodeWSHttpGet",继续往上看wsdl文档,根据binding找到对应<wsdl:binding>标签:

3、上图定义了请求方式,请求地址location为/getmobileCodeInfo, 标签内还定义type="tns:MobileCodeWSHttpGet",根据此名称继续向上找,找到<wsdl:portType>

4、上图内部有定义了<wsdl:input>和output,input中message就对应了参数,根据message="tns:getMobileCodeInfoHttpGetIn"继续向上找

可以看到需要两个参数,分别为mobileCode何userID

5、根据<wsdl:service中选择的port地址:<http:address location="http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx"/>

再根据2中得到的location:<http:operation location="/getMobileCodeInfo"/>

再根据5中定义的参数,综合接口请求路径就为:

http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo?mobileCode=15612345678&userID=

以上就可以根据此地址获取到数据。

二、调取接口

get、post都可以通过httpClient访问,但是如果选择了soap协议,java也提供了不同种方式处理webservice接口,具体实现方式参见其他博客。

比如wsimport命令行形式;HttpUrlConnection形式;都可以实现接口对接。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值