2010-02-11 113 views
0

我遇到了一個問題,我嘗試訪問遠程或本地站點中的Lists.asmx Web服務並收到401錯誤。清楚的是,這是/_vti_bin/Lists.asmx。該設置是我有一個WSS 3.0站點,它通過肥皂連接到另一個WSS/MOSS站點的列表服務。在我們的舞臺環境中,這兩個網站位於同一個盒子中,但在開發中它們是分開的。無論什麼情況,他們都在同一個領域。最初(在重建之前),web服務調用在dev中運行良好,但在舞臺上沒有問題,雖然令人費解,但至少證實我的Web服務實現是正確的,問題在於授權。這是我的初始列表服務設置代碼:使用AD帳戶訪問WSS Lists.asmx Web服務時未經授權的訪問

new Lists 
{ 
    Url = Utility.AppSetting("WSS.Url", true), 
    Credentials = new NetworkCredential 
    { 
      UserName = Utility.AppSetting("WSS.UserName", true), 
      Password = Utility.AppSetting("WSS.Password", true), 
      Domain = Utility.AppSetting("WSS.Domain", true) 
    } 
}; 

與我手動指定服務器上的完整訪問帳戶的域憑據。不過,我懷疑上面的代碼沒有做任何事情,服務只是使用AD進行身份驗證,即我的應用程序池帳戶(開發者是我的超級開發者帳戶)。爲了減輕發佈過程的負擔,我希望能夠明確設置服務的憑據,而不是依賴基礎架構官員必須將其應用程序池帳戶讀取/ Web服務訪問權限授予遠程wss實例。

乾杯

+0

僅供參考,該實用程序方法除了屏蔽配置管理器並拋出一個詳細的異常(如果該字段不存在)( – Aquinas 2010-02-11 21:12:59

回答

0

僅供參考,問題是環回檢查是非常有Server2k8的問題。禁用它修復了這個錯誤。

0

嘗試:

Credentials = System.Net.CredentialCache.DefaultCredentials 

或者

Credentials = System.Net.CredentialCache.DefaultNetworkCredentials 
+0

)這兩個設置是否都使用默認AD帳戶進行身份驗證?這我不想做,我想明確登錄。 – Aquinas 2010-02-11 20:32:28

相關問題