xfire实现webservice客户端之测试关注点

日前的工做接触到不少系统间的Webservice调用,这里想谈谈基于spring+xfire实现的webservice的客户端踩过的一些坑,须要测试关注的点。web

xFire的配置项

在spring中实现ws的client的客户端仍是相对比较容易的,只须要编写一个和webservice接口一致的接口类便可。在xml的配置中须要关注下面几个参数:spring

  • http.timeout : 响应超时,即服务端接收到ws请求,但在处理请求时,长时间没有返回,超时
  • http.connection.timeout : 链接超时,即和服务端创建链接的超时时间

1

xFire所发送消息体的过滤和编码

xfire调用时,若是请求参数中包含特殊的ascii字符(ascii码的0x00 ~ 0x1F)时,ws调用会失败。处理方法就是对请求参数进行过滤,剔除出这些控制字符。安全

基于发送消息体的另一个考量就是i18N,发送的内容尝试着包含:半角、全角、双字节字符、三字节字符等。测试

xFire调用服务端失败处理

1. xfire调用异常后的重试编码

对于一些关键业务webservice调用失败可能会产生比较严重的后果,但xfire自己是没有重试机制的。如今的作法就是,若是xfire调用失败,catch作异常,将消息体插入一个重试任务表中,由调度任务稍后进行重试。3d

2. xfire调用异常,打印日志的脱敏日志

若是xfire调用失败,catch住异常后,一般会打印异常日志。若是涉及核心业务,从数据安全性角度考虑,须要关注在异常堆栈中是否会包含敏感信息(如信用卡卡号),异常日志打印须要过滤掉敏感信息。xml

相关文章
相关标签/搜索