xfire实现webservice客户端之测试关注点
2014-08-18 10:34
169 查看
日前的工作接触到很多系统间的Webservice调用,这里想谈谈基于spring+xfire实现的webservice的客户端踩过的一些坑,需要测试关注的点。
http.timeout : 响应超时,即服务端接收到ws请求,但在处理请求时,长时间没有返回,超时
http.connection.timeout : 连接超时,即和服务端建立连接的超时时间
基于发送消息体的另外一个考量就是i18N,发送的内容尝试着包含:半角、全角、双字节字符、三字节字符等。
对于一些关键业务webservice调用失败可能会产生比较严重的后果,但xfire本身是没有重试机制的。现在的做法就是,如果xfire调用失败,catch做异常,将消息体插入一个重试任务表中,由调度任务稍后进行重试。
2. xfire调用异常,打印日志的脱敏
如果xfire调用失败,catch住异常后,通常会打印异常日志。如果涉及核心业务,从数据安全性角度考虑,需要关注在异常堆栈中是否会包含敏感信息(如信用卡卡号),异常日志打印需要过滤掉敏感信息。
xFire的配置项
在spring中实现ws的client的客户端还是相对比较容易的,只需要编写一个和webservice接口一致的接口类即可。在xml的配置中需要关注下面几个参数:http.timeout : 响应超时,即服务端接收到ws请求,但在处理请求时,长时间没有返回,超时
http.connection.timeout : 连接超时,即和服务端建立连接的超时时间
xFire所发送消息体的过滤和编码
xfire调用时,如果请求参数中包含特殊的ascii字符(ascii码的0x00 ~ 0x1F)时,ws调用会失败。处理方法就是对请求参数进行过滤,剔除出这些控制字符。基于发送消息体的另外一个考量就是i18N,发送的内容尝试着包含:半角、全角、双字节字符、三字节字符等。
xFire调用服务端失败处理
1. xfire调用异常后的重试对于一些关键业务webservice调用失败可能会产生比较严重的后果,但xfire本身是没有重试机制的。现在的做法就是,如果xfire调用失败,catch做异常,将消息体插入一个重试任务表中,由调度任务稍后进行重试。
2. xfire调用异常,打印日志的脱敏
如果xfire调用失败,catch住异常后,通常会打印异常日志。如果涉及核心业务,从数据安全性角度考虑,需要关注在异常堆栈中是否会包含敏感信息(如信用卡卡号),异常日志打印需要过滤掉敏感信息。
相关文章推荐
- XFire实现WebService服务端及客户端
- 采用spring,maven,xfire/cxf 实现SOAP的WebService,并用C#作为客户端调用
- WebService(XFire)开发服务器端用java实现,客户端由C#实现。
- xfire客户端调用webservice测试
- 使用C#的WebService实现客户端软件的更新
- 基于XFire框架利用ant构建WebService的客户端程序
- xfire 1.2 实现webservice完整流程
- 在WebService中使用Session或Cookie---实现WebService身份验证(客户端是Flex)
- 论富客户端程序的webservice实现
- webService---使用Xfire从WSDL生成客户端(详)
- 基于xfire的webservice的实现一
- 天气预报的webservice+三级无刷新级联菜单客户端(js+xmlhttp实现)
- 使用C#的WebService实现客户端软件的在线升级功能(转)
- 使用C#的WebService实现客户端软件的在线升级功能
- 服务使用CXF框架客户端使用Axis2框架的webservice实现方案
- 使用C#的WebService实现客户端软件的更新
- 天气预报的webservice+三级无刷新级联菜单客户端(js+xmlhttp实现
- java客户端访问.net实现的WebService
- 用xfire开发webservice客户端
- 使用C#的WebService实现客户端软件的更新