webservice是解决系统之间远程调用的,这种调用不只跨平台,还跨语言java
webservice是一种远程调用技术,也是一个标准web
webservice的本质仍是socket通讯,使用http协议ajax
wsdl是web服务的使用说明书服务器
soap是简单对象访问协议,它是创建在http基础之上的app
用http发xml文档就是soap消息,若是把http比做普通公路的话,那么soap就是高速公路,它规定了传送的文本只能是指定格式的xml文本socket
客户端调用webservice服务有两种方式:ide
使用wsimport或者wsdl2java之类的工具生成本地的代理类,这些代理类就负责soap消息的封装和解析工做,由它们来和服务端交互,这样在咱们本地就想调用本身的代码同样去调用相应的方法。这种方式的优势是能够将代理类注入到Action中,缺点是须要添加大量的jar包。工具
直接发送soap消息和服务端通讯,本身解析返回的soap消息,这个能够用ajax来作。客户端发ajax请求,而后从返回的xml数据中提取想要的结果。这种方式的优势是无需添加jar包,缺点是须要本身来封装soap消息并解析,并且没法注入到Action中。代理
soap有1.1和1.2两个版本。并且区别在于:xml
命名空间不一样
消息报头不一样,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的服务端