2010-04-22 48 views
12

我們有當前使用用戶名和密碼進行安全保護的OSB服務。嘗試使用svcutil生成服務代理時,我遇到401未經授權的情況。我知道你需要設置一個svcutil.exe.config文件,但我找不到任何例子,只有通過證書的例子。將用戶名和密碼傳遞給svcutil.exe?

有誰知道如何使用svcutil發送用戶名和密碼?

回答

10

我不認爲你可以做到這一點。

在這種情況下,您可以做的是在瀏覽器中連接到該地址,然後將WSDL文件下載並保存到本地磁盤,並在該本地副本上調用svcutil.exe - 或者要求該web服務的發佈者給出您不需要身份驗證的URL,或僅向您發送相關的WSDL和可能的XSD文件,以便您可以爲該服務創建客戶端代理。

+0

我確認你在說什麼在這裏:http://msdn.microsoft.com/en-us/library/ms733775.aspx 注: 您不能使用配置設置的用戶名和密碼。此處顯示的配置必須使用代碼來設置用戶名和密碼。 – webwires 2010-04-27 20:59:24

9

您無法在svcutil中進行身份驗證,但可以在Windows中爲目標計算機設置憑據。轉到您的帳戶管理頁面,然後轉到您的存儲憑據。添加一個包含目標主機名和憑據的新條目。在此之後,您可以使用svcutil和URL。

+0

This Works!非常聰明。謝謝。但是,實際上,我建議OP只下載WSDL!無論如何,你的代碼必然與服務接口相連。如果服務接口發生變化,與修改或測試與服務接口的實際更改相關的代碼相比,更新wsdl文件的小手動步驟將變得微不足道。手動更新WSDL可以控制何時發生這種情況。 WSDL是一個合同,消費方應該知道它何時發生變化。 – DanO 2013-01-17 19:03:49

-2

試試這個。這應該適用於任何需要用戶名和密碼的網頁。

svcutil http://user:[email protected]?wsdl 
+0

我嘗試了這種格式,在URL中使用了嵌入式用戶名和密碼,但它沒有起作用。 – 2014-10-22 18:45:09

相關問題