我们在Test中重现了这个问题,所以我觉得问这个问题很好--不是我理解它或者其他什么。;-)
WebMethods连接到IIS服务(我是负责IIS的人,而负责WebMethods的人没有回答我的问题)。但是,IIS在大多数调用中都抛出了200 0 1236个错误。造成这种情况的原因是Timer_MinFileBytesPerSec。WebMethods对IIS发送的结果很满意,而且并不总是礼貌地结束网络对话。在我们同时收到两个呼叫之前,这不是问题。如果IIS杀死MinBytes的第一个会话,它将杀死具有该IP地址的所有打开的会话,从而在传递过程中杀死第二个会话。WebMethods在那个错误上吐了,然后我就被叫来了。
有没有办法迫使WebMethods礼貌地结束网络对话?
会议是这样的:
对话失败:
WebMethods sends SOAP in 2 packets - SOAP + HTTP continuation
IIS sends ACK
15 second processing delay
IIS sends SOAP reply with ACK/PUSH/FINISH flags
WebMethods sends ACK flag
15 second delay
IIS sends Reset flag and conversation dies成功的对话:
WebMethods sends SOAP in 2 packets - SOAP + HTTP continuation
IIS sends ACK flag
15 second processing delay
IIS sends SOAP reply with ACK/PUSH/FINISH flags
WebMethods sends ACK flag
6 second delay
WebMethods sends ACK/FINISH flag
IIS sends ACK flag
We all go home happy如果我在IIS上扩展ConnectionWaitTimeout和HeaderWaitTimeout并收缩MinFileBytesPerSec设置,我可以让IIS无限期地等待WebMethods礼貌地发送ACK/FINISH,但它永远不会出现。
有什么想法吗?
发布于 2010-05-21 22:20:57
这是WebMethods 6.5中的一个缺陷。当同样的代码在WebMethods 8上运行时,这个问题就消失了。
https://stackoverflow.com/questions/2766813
复制相似问题