通过工具来监控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>输入参数:QQ号码 String,默认QQ号码:8698053。返回数据:String,Y = 在线;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)案例

package cn.csdn.hr.service;
import java.util.Date;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
//必须加注解,使类成为一个webService服务,對jsk的版本是有要求的
//通过注解来修改名
@WebService(serviceName="MyService",name="hello")
//serviceName修改service下类的名称
public class HelloWord {
@WebMethod(operationName="bye")    //修改方法的名称
public String sayHi(
@WebParam(name="content")   //修改参数的名称
String content) {
System.out.println("文本内容======="+content);
return "当前时间:" + new Date() + "say::" + content;
}
public static void main(String[] args) {
// 发布webService服务 Endpoint是web服务的端点 publish发布端点
// hw 服务的名称
Endpoint e = Endpoint.publish("http://192.168.49.82:9999/hw",
new HelloWord());
System.out.println("服务启动..................");
}
}

通过工具来监控webService请求和返回时的数据(10级学员 韩晓爽课堂总结)相关推荐

  1. django通过ajax请求接口返回多条数据,并动态生成表格,请求表单后将表格数据并入库

    一.最近在做接口相关的开发,需求是这样的,通过一个接口所需要传递的参数,调用接口后,处理接口响应的参数,返回多条数据,并动态生成表格,请求表单后将表格的数据入库,下面是我改过的代码,跟实际代码有些出入 ...

  2. 前端同时访问后端同一接口两次,但只有后面那次请求有返回数据

    两次接口都是成功了的,但是第一次请求的返回值没有数据,状态为200. 最开始我都认为是前端调用的问题,两次请求之间加上延时还是不行.我自己写了个脚本测试也是如此,通过反复测试,发现如果当第一次请求没有 ...

  3. Charles修改请求和返回

    一. 通过断点 1).选中接口右键–Breakpoints,默认请求参数和返回数据都会有断点 2).设置断点后,重新请求接口,此时会有edit request,修改完成后,点击页面下面的execut后 ...

  4. ajax返回数据输出成表,javascript代码实例教程-ajax请求返回Json格式数据如何循环输出成table形式...

    小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过. 首先,Ajax请求数据,(用的是Jquery的Ajax) [javascript] $(function(){ ...

  5. 修改软件服务器json返回数据格式,AngularJS处理服务器端返回的JSON数据的格式问题...

    用ng的$http服务发起ajax请求,php返回的JSON数据格式要正确! 一开始我的php页面是这样返回数据的: if($result){ $oid = mysqli_insert_id($con ...

  6. 5. SQL Server数据库性能监控 - 当前请求

    5. SQL Server数据库性能监控 - 当前请求 原文:5. SQL Server数据库性能监控 - 当前请求 对于在线运行的系统,当前数据库性能监控,通常监视以下几点: (1) 是否有阻塞 ( ...

  7. Microsoft SQL Server 2005 提供了一些工具来监控数据库

    --WL 09-07-03 /*Microsoft SQL Server 2005 提供了一些工具来监控数据库.方法之一是动态管理视图.动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务 ...

  8. ajax请求返回json实例,Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据

    一.AjaxJson.aspx 处理业务数据,产生JSon数据,供JqueryRequest.aspx调用,代码如下: protected void Page_Load(object sender, ...

  9. 使用Struts接受Ajax请求并且返回Json数据

    本质 本质上Struts2接受Ajax请求和SpringMVC差不多,因为ajax请求的发起都是由页面来完成的,在MVC的C层只需要接受参数,然后使用Json相关的工具类封装成Json对象返回就行了 ...

  10. jquery的ajax异步请求接收返回json数据

    jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发送设置的datatype设置为jsonp格式数据或json格式都可以.这篇文 ...

最新文章

  1. SAP Commerce SmartEdit 如何同 SAP Spartacus 协同工作
  2. 在状态栏中显示鼠标位置坐标
  3. Hbase RegionServer 启动失败 Time difference of xxx ms max allowed of 30000ms
  4. Mac截图高端操作,这些技巧你绝对不知道!
  5. 容器编排技术 -- Kubernetes Pod概述
  6. python程序化 k线指定时间更新_Python获取股票历史、实时数据与更新到数据库
  7. 忘记mysql密码 重置密码
  8. MODIS数据下载及图像处理教程
  9. 华为云计算hcip证书有效期_华为认证云计算 V4.0认证
  10. HTML单选框-多选框-按钮
  11. 智能优化算法:秃鹰搜索算法 -附代码
  12. python 编写正三角形,倒三角和菱形和各种镂空菱形
  13. 企业网络安全区域划分的原则和方法
  14. Rain on your Parade(二分图匹配-Hopcroft-Carp算法)
  15. PhotoShop如何使用图层之实例演示?
  16. python封装exe后其他人能用么_python用tesseract写的图片识别,封装exe后,本机可以用,软件放别的电脑上无法图......
  17. 机器学习(1)——Python数据处理与绘图
  18. Azure Synapse Analytics(Azure SQL DW) 性能优化指南(2)——使用具体化视图优化性能(上)
  19. User-Agent详解
  20. 搭建 discus 论坛

热门文章

  1. b站上的计算机课程有哪些,B站课程排行榜,这届大学生最爱学什么?
  2. 电脑ping,电脑ping怎么用|电脑ping怎么打开_PC6教学
  3. 为Springboot工作流版本myabaits的xml 建表
  4. 在计算机上如何打开资源管理器,资源管理器怎么打开?打开资源管理器的5种方法...
  5. Vue项目JS脚本错误捕获
  6. java+redis 实现搜索附近人功能
  7. 如何修改网页小图标,浏览器页面上的图标。
  8. TP5加支付宝手机网站支付配置
  9. [病毒分析]远程木马创建傀儡进程分析
  10. 通过笔记本wifi共享到以太网接口方法--使用嵌入式设备接入互联网