2010-05-04 36 views
1

我们在测试中复制了这一个,所以我对提出这个问题感到很满意 - 不是我理解它或任何东西。 ;-)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,但它永远不会到来。

有什么想法?

+0

这是什么15秒的处理延迟?大多数Web客户端,即。浏览器,无法处理。你发送Keep-Alive头文件吗? – 2010-05-04 15:54:20

+0

好问题。我已经多次向开发人员询问它,并且无法解决它。长时间的等待时间通常适用于多种实现,所以他们已经成功了。这是问题的第二个延迟 - 等待WebMethods发送第二个ACK并添加FINISH。这对我来说都是黑匣子。我不知道当6秒的ACK/FINISH发生时他们在做什么不同,但是它在WM方面。不,他们没有发送成功或不成功的convos上的Keep-Alive标题。 – codepoke 2010-05-04 17:01:49

回答

1

这是WebMethods 6.5中的一个缺陷。当从WebMethods 8运行相同的代码时,问题就会消失。