通过工具来监控webService请求和返回时的数据
一 引言
我们通过WsExplorer和Tcp/Ip Monitor两种工具俩检测wsdl的传送数据的方式,
使用这两种工具的作用:
(1)为了获取SOAP数据发送和接收的格式。我们有必要使用一个工具来深入的了解WebService.
(2)为了监控拦截请求头和响应头的具体数据,我们使用TCP/IP Monitor.
那么读到这,肯定会有一种疑问,SOAP是什么呢?下面来介绍一下:
(1)SOAP协议实际上就是一种基于XML编码规范的文本协议
(2)SOAP=HTTP+XML
(3)SOAP = Simple Object Access Protocol简单对像访问协议
(4)SOAP是被任何语言所支持的
SOAP就是在HTTP的基础上传输XML数据,以实现远程调用。
因为HTTP和XML格式的数据已经被广泛的应用。而SOAP又架构在这两种技术之上,所以WebService为什么会流行也就不难理解了。
二 工具的使用
1.使用WsExplorer工具来了解SOAP的传送数据方式
(1)首先我们打开eclipse,切换到javaEE视图,打开web Service Explorer浏览器,图示为:
点击从做右数第三个为web Service Explorer
(2)弹出对话框之后,点击从右向左数第二个图标
(3)点击
向图中一样输入地址,此地址是腾讯QQ在线状态的wsdl地址:
http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl
当点击Go之后,会出现这个页面所对应的类和接口的实现和调用
如图:
(4)当我们点击
之后,可以在右边找到add超链接,添加QQ号之后,端机Go去测试,在下面的status栏中会出现你是否在线的状态,内部的规定为:
获得腾讯QQ在线状态输入参数:QQ号码 String,默认QQ号码:8698053。返回数据:String,Y = 在线;N = 离线;E = QQ号码错误;A = 商业用户验证失败;V = 免费用户超过数量
比如说我的qq没有在线,那么结果为:
qqCheckOnlineResponse |
|
(5)我们可以点击status栏右上角的source,得到的结果为:
我们可以看到结果的读取为xml文件
2.使用Tcp/Ip Monitor工具来检测传输数据
(1)首先我们打开eclipse, 此工具位于:window>show view>other>搜索tcp>TCP/IP Monitor,
点击时候打开的界面为:
此工具,相当于一个代理商,启动后它将监听本地的某个端口,然后再将请求转发给指定的目标IP和端口。获取到数据后,再将数据原封不动的返回给客户。在客户看来,永远首先访问的都应该是这个代理,否则我们将看不到数据传输的过程。
(2)配置选项
在打开的TCP/IP Monitor界面上:view Menu(右上方向下的小箭头)>Properties>Add(右侧添加)
点击ok即可,并开始。
在测试的前提条件是要开启本机上的webService,去访问你添加的一个host name,访问的地址为:http://192.168.49.82:8888/hw?wsdl
就可以在tcp中检测到传输的数据,当访问地址之后在控制台会显示出request和reponse。
如图:
3.通过注解修改wsdl中的内容
(1)使用的方法
通过WebService的注解,可以更加形像的描述Web服务。从而生成WSDL文档。
当修改了WebService注解之后,同时会影响客户端生成的代码。
调用的方法名和参数名也发生了变化。
(2)@WebMethod
@WebMethod对所有非静态的公共方法对外暴露为服务.
对于静态方法或非public方法是不可以使用@WebMethod注解的.
(3)案例