【发布时间】:2012-04-08 09:32:09
【问题描述】:
我有一个托管在 IIS 7.5 服务器上的 .NET、WCF Web 服务(在 PowerBuilder 12.5.1 中创建),该服务器有一个采用整数的方法调用,然后调用 MS SQL Server 2008 R2 数据库。使用 Microsoft Network Monitor 3.4,我可以看到我的客户端向 IIS 服务器发出 HTTP 请求,它有时会发送 HTTP 100 响应,有时不会(从来都不是问题,在这种情况下我不在乎),然后客户端向具有服务调用详细信息的服务器发出 SOAP 请求。然而,IIS 服务器只是发回一个 HTTP 200 响应,而不是像它应该的那样进行 SQL 调用。没有迹象表明该服务甚至正在尝试与 SQL 数据库建立连接。托管服务的 IIS 站点和应用程序都使用 PBDotnet4AppPool,它使用集成托管管道模式和 NetworkService 标识。该应用程序有一个连接字符串,可用于连接到 SQL 数据库,其用户 ID 对数据库上的所有表具有读取权限。
我该如何解决这个问题,以便服务进行 SQL 调用并返回正确的响应?非常感谢任何帮助。
PS:我是新手,请耐心等待,如果我应该包含其他信息,请告诉我。
【问题讨论】:
-
您为什么希望能够看到到 SQL Server 的流量?它不会是 HTTP。
-
它应该在 TDS 协议中,并且应该在服务将响应发送回客户端之前发生。此外,服务响应应该是 SOAP,而不是 HTTP。
-
TDS 是基于 HTTP 的吗? SOAP,OTOH,确实通过 HTTP 运行。
-
据我所知不是。无论哪种方式,网络监视器都唯一标识不同的协议,所以这不是问题。当我将服务托管为控制台(“自托管”)应用程序时,它工作正常。在网络监视器上我可以看到客户端发出 HTTP 请求,服务发送 HTTP 响应,客户端发出 SOAP 请求,服务进行 SQL 调用(在网络监视器上我可以看到 TDS 数据传输),然后服务向客户端发送一个 SOAP 响应,其中包含来自 SQL 调用的数据。
-
很抱歉,根据您的问题,我了解到您根本没有看到 SQL 流量。你没有看到什么?
标签: sql web-services soap iis-7.5