WebService学习入门教程

发布时间 : 星期一 文章WebService学习入门教程更新完毕开始阅读

看懂使用说明书WSDL:

通过wsimport生成本地代码,调用网络上的web服务,比如手机号码归属地服务。

WebService通过HTTP协议完成远程调用: (深入分析) – RPC

WebService只采用HTTP POST方式传输数据,不使用GET方式; -- 握手,WSDL-get, 普通http post的contentType为

application/x-www-form-urlencoded

WebService的contentType为-即在Http的基础上发SOAP协议

text/xml 这是基于soap1.1协议。

application/soap+xml 这是基于soap1.2协议。

WebService从数据传输格式上作了限定。WebService所使用的数据均是基于XML格式的。目前标准的WebService在数据格式上主要采用SOAP协议。SOAP协议实际上就是一种基于XML编码规范的文本协议。

SOAP – Simple Object Access protocol 简单对像访问协议。是运行在HTTP协议基础之上的协议。其实就是在HTTP协议是传输XML文件,就变成了SOAP协议。

SOAP1.1和SOAP1.2的 namespace不一样。可以通过查看类 javax.xml.ws.soap.SOAPBinding来查看里面的常量 默认情况下,Jdk1.6只支持soap1.1

即:@BindingType(value=javax.xml.ws.soap.SOAPBinding.SOAP11HTTP_BINDING) WebService和Web服务器的区别

WebService和Web服务器有什么区别呢?我们可以把WebService看作是Web服务器上应用;反过来说,Web服务器是WebService运行时所必需的容器。这就是它们的区别和联系。 使用JDK1.6发布的简单Web服务,其内部其实是使用Socket实现。可以查看:SUN公司未对外公布的API类com.sun.xml.internal.ws.transport.http.server. ServerMgr获知,请使用反编译工具。

WebService的特点

WebService通过HTTP POST方式接受客户的请求

WebService与客户端之间一般使用SOAP协议传输XML数据. 它本身就是为了跨平台或跨语言而设计的。 客户端调用WebService的方式 通过wsimport生成客户端代码 通过客户端编程的方式调用 通过ajax调用 (js+XML) 通过URLConnection调用

使用原生的ajax调用web服务:

由于使用ajax – js调用web服务完成不同于使用java代码调用。所以,必须要对SOAP文件非常的了解。

一般使用ajax调用,应该是在已经获知了以下信息以后才去调用: 获知请求(request)的soap文本。 获知响应(response)的soap文本。

请求文件和响应文本格式,一般会随web服务的发布一同发布。我们可以通过WSExplorer获取上面两段文本 Ajax调用获取所有用户:

客户端通过编程的方式访问服务:

使用javax.xml.ws.Service类用于访问web服务。 关键类Service

方法create – 用户创建Service对像,提供wsdlurl和服务名。 getPort-用于通过指定namespace,portName和接口的范型。 在客户端需要一个与服务器接口完全相同的类。(仍然使用工具生成。但只需要一个接口。并需要简单修改。如果返回的是复杂数据类型如POJO,还需要将POJO一并放到项目中)-不要试图通过-p来修改包名,会出错的。

关键类QName – 被称为完全限定名即:Qualified Name的缩写。

? QName 的值包含名称空间 URI、本地部分和前缀。

客户端编程-用的不是很多:

WebService监听工具:

之前我们使用过HttpWatch获取的HTTP的调用过程,并获得了HTTP的请求头及其他请求的详细信息。

既然WebServie也是通过HTTP进行通信的,能不使用HTTPWatch来获取它的请求过程呢? 我们的代码不仅仅是向服务器发送的HTTP协议,更具体的说应该叫SOAP协议,它是

WebService进行通信的基础。

为了获取SOAP数据发送和接收的格式。我们有必要使用一个工具来深入的了解WebService. 为了监控拦截请求头和响应头的具体数据,我们使用TCP/IP Monitor来拦截请求和响应的完整过程。

WS Explorer工具的使用:- web服务浏览器

使用此工具可以获取请求协议的格式和响应协议的格式。

在MyEclipse的调用WebService并查看发出和收到的数据格式!

选择使用WSDL地址:

输入正确的WSDL地址后,点确定,将显示所的对外暴露的方法: 请求的数

据:

联系合同范文客服:xxxxx#qq.com(#替换为@)