2012-03-23 182 views
0

我有一個.NET 7.5服務器上託管的.NET,WCF Web服務(在PowerBuilder 12.5.1中創建),它具有一個方法調用需要一個整數,然後使調用MS SQL Server 2008 R2數據庫。使用Microsoft網絡監視器3.4我可以看到我的客戶端向IIS服務器發出HTTP請求,有時它會發送HTTP 100響應,有時不會(這從來不是問題,在這種情況下我不在乎),那麼客戶端向服務器發出SOAP請求,該服務器具有服務調用的詳細信息。但是,IIS服務器只是發送一個HTTP 200響應,而不是像預期的那樣進行SQL調用。沒有跡象表明該服務甚至試圖連接到SQL數據庫。服務託管的IIS站點和應用程序都使用PBDotnet4AppPool,該PBDotnet4AppPool使用集成託管管道模式和NetworkService標識。應用程序有一個連接字符串,可用於連接到SQL數據庫,並具有對數據庫上所有表具有讀取訪問權限的用戶標識。IIS 7.5託管的Web服務SOAP調用返回http響應

我該如何解決這個問題,以便服務進行SQL調用並返回正確的響應?任何幫助是極大的讚賞。 PS:我是新手,請耐心等待,如果有其他一些我應該包含的信息,請告訴我。

+0

您爲什麼期望能夠查看到SQL Server的流量?它不會是HTTP。 – 2012-03-23 22:22:25

+0

它應該是在TDS協議中,並且應該在服務將響應發送回客戶端之前發生。服務響應也應該是SOAP,而不是HTTP。 – djmsmith 2012-03-27 17:01:44

+0

是基於HTTP的TDS嗎? SOAP,OTOH通過HTTP運行。 – 2012-03-27 17:22:04

回答

1

事實證明,整個事情是Powerbuilder的.dll文件問題。當powerbuilder Web服務找不到所需的.dll文件時,它往往只是悄無聲息地崩潰,而不會告訴你爲什麼。爲了解決這個問題,我從開發計算機(運行Windows 7)將「C:\ Program Files(x86)\ Sybase \ Shared \ PowerBuilder」的內容複製到IIS服務器上的同一文件夾中。在我這樣做後,IIS服務器上的控制檯「自託管」應用程序服務和IIS託管服務都正常工作。

+0

你在IIS服務器上的哪些位置複製這些文件? – 2012-03-30 18:38:58

+0

它在服務器和我的電腦上都是相同的文件路徑。我編輯了包含這個的答案 – djmsmith 2012-03-30 19:07:24