2012-06-06 59 views
0

所以這與我的問題here有關。如何在IIS上承載wcf路由服務?

所以我有一個現有的wcf服務已經運行,託管在IIS上。我創建了一個路由器服務,它將在標題上執行一些XPath過濾。所以如果標題匹配,然後去service1。 現在,我在IIS上託管了我的路由器服務,我可以像http://iis.com/myrouter/router.svc/那樣訪問它,並給我這個wsdl的東西。現在,當我嘗試請求服務1上的服務方法,如http://iis.com/myrouter/router.svc/general/getMyMethod?blah=blahblah。它給了我一個404錯誤。順便說一句,我用小提琴手。

在我的請求通過提琴手我加我的自定義頭像「service_version:1」。我在我的<namespaceTable>上使用了一個命名空間,但我不知道如何將它附加到我的請求上。無論如何,我主要關心的是如何使我的路由器服務在IIS上工作?

更新:我使用的方式是System.ServiceModel.Routing.RoutingService。所以我試圖完成的是路由服務。

非常感謝您的幫助。

+0

這是一個SOAP服務嗎? –

+0

是的,先生。而且我有一個已經工作的現有wcf服務,我想爲版本控制做一些路由。 –

+0

您是否曾以這種方式測試過相同的服務?我問這個問題的原因是因爲如果它是一個SOAP服務,你不會用一個URL訪問它 - SOAP包必須被構造和發送。 –

回答

0

您可能會遇到此問題。 SOAP服務不能以這種方式訪問​​,因爲它依賴於SOAP包。這是另一篇文章,應該引導你朝着正確的方向前進。然而,它導致你失敗​​的方向是手動測試SOAP服務是而不是是需要的,可能是徒勞的。

但是,有一點需要注意的是,它會引導您使用WCF測試客戶端 - 這是走向我的朋友的最佳方向,而且它非常易於使用。提供網址,然後完成剩下的工作。

Invoke soap wcf service in Fiddler like in Wcf test client

訪問REST風格的端點

如果你想測試RESTful端點那麼問題很可能是周圍所配置的路由。請參閱此鏈接以獲取幫助 - 確保您將服務設置爲相同,因爲它們使用的屬性可以正確構建路由。請記住,您不打算使用與SOAP端點相同的地址來引用RESTful端點。

http://geekswithblogs.net/michelotti/archive/2010/08/21/restful-wcf-services-with-no-svc-file-and-no-config.aspx

您也可以看看這個鏈接。

Hosting WCF soap and rest endpoints side by side

+0

謝謝您的回覆先生。我的服務1正在按照應有的方式工作,我可以向它做出請求。我試圖完成的是路由服務。所以我創建了一個路由服務,用於路由到我現有的WCF服務。我現在的問題是我的路由器服務無法正常工作。 –