我有一个Web应用程序,它从Web服务获取信息。它在我们的开发环境中工作正常。
现在我试图让它在客户的环境中工作,而Web服务来自第三方。问题是,应用程序第一次尝试获取信息时,它无法连接到Web服务。几秒后它再次尝试时它工作正常。如果我等了几个小时再试一次,问题就会再次发生。
我很难相信这是一个编程错误,因为我们的客户和Web服务的制造商都在思考。我认为它与IIS之一或网络中的某些安全性有关。但是我没有太多可继续的事情,也无法在我们的开发环境中重现错误。
答案 0 :(得分:0)
第一次尝试连接时,是否因为timeOutException而失败?如果是,这可能是服务启动时间的结果
答案 1 :(得分:0)
我有一条规则:“在你能证明其他情况之前,一定要承担自己的错误”。经过20多年,我仍然坚持下去。
因此有两种情况:
由于您要证明问题是(2),您需要使用除应用程序之外的其他内容,在实时环境中测试对服务的调用。具体取决于网络服务的性质,但我们发现SoapUI会有所帮助。
另一个不清楚的是你是否从开发环境调用实时服务 - 如果在测试中你没有与服务的同一个实例进行通信那么这是一个需要的附加变量被考虑(我感谢你并不总是给你选择)。
最后,@ Krishna是对的 - 远程服务可能存在一个旋转问题(因此我的问题是你是否正在与你的开发环境中的同一服务进行交谈)并且 - 实际上是可怕的 - 解决方案第一个例子可能只是找到一种方法来允许这个!
答案 2 :(得分:0)
错误是来自第三方的网络服务。我们开发的测试存根是用C#编写的,只返回虚拟答案。客户环境中的Web服务实际连接到COM对象。经过较长时间等待后,与COM对象的第一次通信花了将近一分钟。
第三方开发人员将源代码留在客户服务器上对我很好......