首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WCF web服务调用超时

WCF web服务调用超时
EN

Stack Overflow用户
提问于 2014-02-27 17:16:35
回答 3查看 2.3K关注 0票数 6

我正在使用一个网址上的web服务。当我使用SoapUI进行测试时,我会立即得到响应(请参见下面的图像),并且我发送的请求数据已通过另一端。

因此,在我的C#应用程序中,我做了同样的事情,我使用了web服务wsdl并自动生成代理类。我创建一个基于代理类的请求,与我在SoapUI中使用和发送的请求数据完全相同。我证实,在另一端,他们成功地收到了我的数据,没有显示错误。

但是,我从未收到任何ID,过了一段时间,我就会得到这个异常:

错误:对“http://someURLWebservice.com/WSoperation”的HTTP请求已超过分配的超时00:00:59.9470000。分配给此操作的时间可能是较长超时的一部分。

我是不是漏掉了什么?我下载了WSDL并使用SoapUI生成了模拟服务,如果我在本地调用模拟web服务,我将立即获得正确的away.the ID。

这是我的代码:

代码语言:javascript
运行
复制
 string serverURL = Settings.Default.ExtensionServiceURL;

 //Get Proxy class client
 ext.ExtWSPortTypeClient client = new ext.ExtWSPortTypeClient();
 EndpointAddress addr = new EndpointAddress(serverURL);

 try
   {
      client.Endpoint.Address = addr;
      Uri site = new Uri(serverURL);
      client.Endpoint.ListenUri = site;
      ExtensionData eData = new ExtensionData();
      client.ChannelFactory.CreateChannel();

      Console.WriteLine("Sending Locator Event Request to Web Service");
      ext.locatorEventResponse1 resp = await client.locatorEventAsync(eData.GenerateLocatorEventRequest(ev));
   }
   catch (Exception ex)
   {
       Console.WriteLine("Error " + ex.Message);
   }
   finally
   {
       if (client != null)
       {
          ((ICommunicationObject)client).Close();
       }
   }

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-06 23:00:07

因此,我最终配置了Fiddler2,以嗅探我的SoapUI请求并将其与我的应用程序请求进行比较。在应用程序请求头中,我看到了以下内容:

代码语言:javascript
运行
复制
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
Host: engage.ext-inc.com
Content-Length: 1036
**Expect: 100-continue**

预期:100-继续不在SoapUI请求中,该请求成功发送并得到响应。考虑到这一点,我在Fiddler中使用了SoapUI请求,并在it...except上构建了一个新的基础,我输入了Expect:100-继续,猜猜怎么着,我没有收到响应。

当我读到这件事时,我偶然发现了这个链接

瞧,在进行web服务调用之前,将ServicePointManager.Expect100Continue = false;放入代码中,我会立即得到响应。

票数 3
EN

Stack Overflow用户

发布于 2014-03-05 13:29:50

在类似的情况下,我将从以下几个方面开始:

使用WCF客户端进行测试并捕获跟踪文件:

使用soapUI客户端进行测试并捕获Http日志

  • 清除soapUI http日志(底部的一个选项卡)
  • 通过soapUI测试请求发送消息
  • 保存Http日志

一旦您获得了两个客户端的跟踪信息,您就应该能够比较事务并希望确定问题的来源。特别是,我建议确认双方的服务地址,然后比较SOAP信封,以确保WCF绑定与soapUI设置一致。

此外,您还可以使用Fiddler查看web服务通信。下面的帖子提供了很好的参考链接。Fiddler与监控Web服务流量

希望这能有所帮助。

致以敬意,

票数 3
EN

Stack Overflow用户

发布于 2014-03-05 12:26:48

检查邮件配额设置,可能您的服务发送的内容比配置的要多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22075608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档