webservice之WSDL

 调用WebService的本质原理

       一次WebService调用其实并不是方法调用,而是发送SOAP消息,即xml文档片段。调用详细过程如下:

       1、客户端将调用方法、参数,转换生成xml文档片段(SOAP消息,input消息),该文档片段必须符合wsdl定义的格式。

       2、客户端通过网络将生成的xml文档片段传给服务器。

  3、服务器接受到客户端发来的xml文档片段。

  4、服务器解析xml文档片段,提取其中的数据,并将数据转换为调用WebService所需要的参数值。

  5、服务器执行方法。

  6、服务器将方法的执行结果再次转换为xml文档片段(SOAP消息,output消息),该文档片段必须符合wsdl定义的格式。

  7、服务端通过网络将执行结果的xml文档片段通过网络发送给客户端。

  8、客户端接收到执行结果的xml文档片段。

  9、客户端解析执行结果的xml文档片段,提取其中的数据,并将数据转换为调用WebService的返回值。

  从上面的调用本质上来看,方法的执行是在服务端,客户端只做发送xml、接收xml、解析xml。所以,一种语言支持WebService唯一的要求就是:该语言支持xml文档的解析、生成、网络传输。为什么WebService离不开xml呢?WebService的三个基础如下:

  1、WSDL:Web Service Definition Language——WebService定义语言

  2、SOAP:Simple Object Access Protocol——简单对象访问协议

  3、UDDI:Universal Description Discovery and Integration——通用描述、发现与集成服务,是一种目录服务

  其中的WSDL与SOAP都为xml,所以WebService离不开xml。




141308_9nq5_2253438.jpg

XML的两个重要属性
1.targetNamespace实现类的包路径   targetNamespace="http://impl.ws.cn.xp.com/"
2.namespace <import namespace="http://ws.cn.xp.com/" location="http://127.0.0.1/XXX?wsdl=1"/>  
接口的包路径,这里的import实际上导入的是另一个wsdl,包路径不一样所以用import的方式导入
3.xmlns:导入命名空间,spring的xml文件同理

xml片段分析

http://127.0.0.1/XXX?wsdl下面的xml

152025_wexs_2253438.jpg

http://127.0.0.1/XXX?wsdl=1路径下的wsdl如下图:

153144_I86d_2253438.jpg


http://127.0.0.1/XXX?xsd=1路径下的xml

154128_pL8W_2253438.jpg

转载于:https://my.oschina.net/u/2253438/blog/668556

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值