加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

通过工具来监控webService请求和返回时的数据

发布时间:2020-12-16 22:38:30 所属栏目:安全 来源:网络整理
导读:通过工具来监控webService请求和返回时的数据 一??引言 我们通过WsExplorer和Tcp/Ip Monitor两种工具俩检测wsdl的传送数据的方式, 使用这两种工具的作用: (1)为了获取SOAP数据发送和接收的格式。我们有必要使用一个工具来深入的了解WebService. (2)为

通过工具来监控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栏中会出现你是否在线的状态,内部的规定为:

<br /><h3>获得腾讯QQ在线状态</h3><p>输入参数:号码?String,默认号码:8698053。返回数据:StringY =?在线;N =?离线;E = QQ号码错误;A =?商业用户验证失败;V =?免费用户超过数量</p><br />

?

比如说我的qq没有在线,那么结果为:

qqCheckOnlineResponse

?

qqCheckOnlineResult (string):

N

(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)案例

[java]? view plain copy
  1. package?cn.csdn.hr.service;??
  2. ??
  3. import?java.util.Date;??
  4. ??
  5. import?javax.jws.WebMethod;??
  6. ??
  7. import?javax.jws.WebParam;??
  8. ??
  9. import?javax.jws.WebService;??
  10. ??
  11. import?javax.xml.ws.Endpoint;??
  12. ??
  13. //必须加注解,使类成为一个webService服务,對jsk的版本是有要求的????
  14. ??
  15. //通过注解来修改名??
  16. ??
  17. @WebService(serviceName="MyService",name="hello")????
  18. ??
  19. //serviceName修改service下类的名称??
  20. ??
  21. public?class?HelloWord?{??
  22. ??
  23. ????@WebMethod(operationName="bye")????//修改方法的名称??
  24. ??
  25. ????public?String?sayHi(??
  26. ??
  27. ???????????@WebParam(name="content")???//修改参数的名称??
  28. ??
  29. ???????????String?content)?{??
  30. ??
  31. ???????System.out.println("文本内容======="+content);??
  32. ??
  33. ???????return?"当前时间:"?+?new?Date()?+?"say::"?+?content;??
  34. ??
  35. ????}??
  36. ??
  37. ????static?void?main(String[]?args)?{??
  38. ??
  39. ???????//?发布webService服务?Endpoint是web服务的端点?publish发布端点??
  40. ??
  41. ???????//?hw?服务的名称??
  42. ??
  43. ???????Endpoint?e?=?Endpoint.publish("http://192.168.49.82:9999/hw",??
  44. ??
  45. ??????????????new?HelloWord());??
  46. ??
  47. ???????System.out.println("服务启动..................");??
  48. ??
  49. ????}??
  50. ??
  51. }??

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读