通过自定义module拦截所有webservice的原始内容抛400错误的问题

前段时间有同事用自定义的module来拦截webservice,通过解析webservice的类试xml的对象来获取一些原始数据,但是上线后一直抛400错误,经过我的反复分析,终于发现其中问题。

最终的原因是在context.Request.InputStream.Read(buffer, 0, length); 和context.Request.InputStream.Position = 0; 两条语句之间抛了异常会导致客户端获取服务端返回的400错误。

这个错误不常见,因此我也是根据一步一步调试才发现这个问题的。module里读取context当前请求流和重新设置数据流到起始点之间出异常,导致了当前请求流开始点在正常数据流的最终点,所以抛错

 

如转载请注明来自:http://lawson.cnblogs.com/

你可能感兴趣的:(webservice)