2015-05-11 74 views
1

我有一個簡單的WCF客戶端通過HTTPS,與WCF測試客戶端工作得很好。 現在,當我啓用聯邦到WCF時,在瀏覽器中工作正常。如何通過WCF測試客戶端訪問聯合WCF?

  1. 只要我訪問svc URL,它就會重定向到聯合登錄頁面。
  2. 經過有效身份驗證後,它會返回元數據頁面。

我想用WCF測試客戶端執行相同的操作。但是在Fiddler中,它重定向錯誤302,因此無法獲取任何元數據。當我創建控制檯應用程序並使用該調用時,觀察到同樣的情況。

注:我不想創建一個Web應用程序來測試相同的。

問題:

  1. 是這種情況可能嗎?
  2. 如果是,需要做什麼,如果我需要通過客戶端應用程序工作。

回答

0

如果使用WSFederationBinding,WCF測試客戶端不支持它,因爲這裏要注意:

https://msdn.microsoft.com/en-us/library/bb552364%28v=vs.110%29.aspx

你可以,但是,建立一個自定義的測試客戶端。例如,您可以構建一個Windows Forms客戶端或一個控制檯應用程序,該應用程序對聯合服務進行服務引用,並在代碼中發出客戶端憑證令牌。微軟對令牌在這裏編程方式創建一個客戶端憑證的文章:

https://msdn.microsoft.com/en-us/library/ms731690%28v=vs.110%29.aspx

+0

感謝,但有沒有辦法通過至少控制檯應用程序來測試它?因爲我有200多個API,我已經有測試客戶端來測試相同的。 –

+0

我從來沒有這樣做過,但微軟有一個關於在代碼中生成IssueTokenClientCredential的頁面,這應該是一個很好的開始: https://msdn.microsoft.com/en-us/library/ms731690%28v= vs.110%29.aspx 我不知道您是否曾經從控制檯應用程序調用WCF服務,但要訪問該服務,您可以像通常那樣添加服務引用,除非您需要任何特殊設置傳遞給svcutil。 – maniak1982

+0

這是我正在尋找的那個。謝謝。實際上,我們使用控制檯應用程序在WCF投入生產之前對其進行測試。由於有200多個API,因此使用聯合創建測試用戶界面是額外的開銷。 –