我们在测试中复制了这一个,所以我对提出这个问题感到很满意 - 不是我理解它或任何东西。 ;-)WebMethods没有发送ACK/FINISH到IIS Web服务调用
WebMethods连接到一个IIS Web服务(我是IIS的人,而WebMethods人没有答案)IIS在大多数调用中抛出200 0 1236错误。原因是Timer_MinFileBytesPerSec。 WebMethods对IIS发送的结果很满意,并不总是有礼貌地关闭网络对话。除非我们同时在航班中接到两个电话,否则这不是问题。如果IIS杀死MinBytes的第一个convo,它将杀死所有使用该IP地址的公开convos,从而导致第二次对话失败。 WebMethods在这个错误上呕吐,并且我被调用。
有没有办法强制WebMethods礼貌地结束网络对话?
的convos是这样的:
失败康沃:
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,但它永远不会到来。
有什么想法?
这是什么15秒的处理延迟?大多数Web客户端,即。浏览器,无法处理。你发送Keep-Alive头文件吗? – 2010-05-04 15:54:20
好问题。我已经多次向开发人员询问它,并且无法解决它。长时间的等待时间通常适用于多种实现,所以他们已经成功了。这是问题的第二个延迟 - 等待WebMethods发送第二个ACK并添加FINISH。这对我来说都是黑匣子。我不知道当6秒的ACK/FINISH发生时他们在做什么不同,但是它在WM方面。不,他们没有发送成功或不成功的convos上的Keep-Alive标题。 – codepoke 2010-05-04 17:01:49