一直用的都是myeclipse的webservice,也就是xfire,这样就造成了soap这块的认识的狭隘。
最近看的soap和wsdl很是混淆。
所以仔细的用了一下myeclipse的webserver的浏览器,swdl是一种描述服务的定义语言,而soap则是协议,基于soap的webserver都是用soap协议来联系的。
一个wsdl信息中包含的是一个webserver提供给客户的接口的描述,比如你如果创建了一个服务,然后在webserver的浏览器中输入:
http://localhost:8080/test/test?wsdl那么就可以得到一个xml文件,仔细看一下里面都是你见的那个接口的一些描述,当然这个xml是按照一定的规则编写的,这里就不深入些了,然后就是这个soap消息,soap消息是用来客户端和服务端进行通信的协议,就像我们的http协议,客户端根据之前得到的接口,然后调用里面 的方法 这个过程其实是和服务端的一个联系,这个联系都是通过soap来实现的,这样我们就分清楚了soap和wsdl的区别和联系。
补充:在myeclipse中我们可以创建一个webserver项目,然后创建webserver,其实这个webserver包含一个接口和这个接口的实现类, 最后我们还可以通过一个wsdl的url创建一个client,因为一个wsdl的url就是用来描述这个服务的,也就是说我们也是可以通过这个wsdl来实现接口的获取。
到此我们基本上就可以用网络上的一些天气预报的一些webserver了,不过我试着将http://www.ayandy.com/service.asmx?WSDL的wsdl描述转换成一个接口的时候会出错 ,可能就是现在网络上的一些wsdl并没有严格的按照这个标准吧。。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。