-
-
webservice是解决系统之间远程调用的,这种调用不仅跨平台,还跨语言
-
webservice是一种远程调用技术,也是一个标准
-
webservice的本质还是socket通信,使用http协议
-
wsdl是web服务的使用说明书
-
soap是简单对象访问协议,它是建立在http基础之上的
-
用http发xml文档就是soap消息,如果把http比作普通公路的话,那么soap就是高速公路,它规定了传送的文本只能是指定格式的xml文本
-
客户端调用webservice服务有两种方式:
-
使用wsimport或者wsdl2java之类的工具生成本地的代理类,这些代理类就负责soap消息的封装和解析工作,由它们来和服务端交互,这样在我们本地就想调用自己的代码一样去调用相应的方法。这种方式的优点是可以将代理类注入到Action中,缺点是需要添加大量的jar包。
-
直接发送soap消息和服务端通信,自己解析返回的soap消息,这个可以用ajax来做。客户端发ajax请求,然后从返回的xml数据中提取想要的结果。这种方式的优点是无需添加jar包,缺点是需要自己来封装soap消息并解析,而且无法注入到Action中。
-
-
soap有1.1和1.2两个版本。而且区别在于:
-
命名空间不同
-
消息报头不同,soap1.1的Content-Type为text/xml,soap1.2的Content-Type为application/soap+xml
-
soap1.1有soapAction,soap1.2没有
-
soap1.1的客户端可以访问soap1.1和soap1.2的服务器,soap1.2的客户端只能访问soap1.2的服务端
-
本文转自 手不要乱摸 51CTO博客,原文链接:http://blog.51cto.com/5880861/1608646