0

我正在開發Windows Phone 7的應用程序。我嘗試使用由網站提供的服務我試圖從中獲取信息。我正在使用異步請求。所以,如果我試圖從一個網站沒有任何身份驗證的信息,我使用此代碼:Windows Phone 7 Silverlight服務引用CommunicationException:「服務器返回錯誤:未找到」

EventSrv.EventSrvSoapClient client = new EventSrv.EventSrvSoapClient(); 
client.GetAppointmentsAsync(); 
client.GetAppointmentsCompleted += new EventHandler<EventSrv.GetAppointmentsCompletedEventArgs>(events_completed); 

它工作正常。但只要我想從一個網站使用一個服務需要身份驗證,我得到一個

CommunicationException: _innerException:"Server returned an error: Not Found"

public L2P.DocumentsService.GetDocumentsResponse EndGetDocuments(System.IAsyncResult result) 
{ 
object[] _args = new object[0]; 
//Between this line 
L2P.DocumentsService.GetDocumentsResponse _result = ((L2P.DocumentsService.GetDocumentsResponse)(base.EndInvoke("GetDocuments", _args, result))); 
//and this line 
return _result; 
} 

我傳遞憑證的方式如下:

DocumentsService.BaseServiceSoapClient docClient = new DocumentsService.BaseServiceSoapClient(); 
docClient.ClientCredentials.UserName.UserName = Variables.username; 
docClient.ClientCredentials.UserName.Password = Variables.password; 
docClient.GetDocumentsCompleted += new EventHandler<DocumentsService.GetDocumentsCompletedEventArgs>(getDocumentsCompleted); 
docClient.GetDocumentsAsync(); 

實際上,如果我通過憑證或沒有通過,我會得到相同的異常。我真的不知道問題是什麼,也許它與認證無關。我已經閱讀了關於CommunicationException的所有文章,但他們無法解決我的問題。

任何幫助將不勝感激!

+0

這有幫助嗎? http://karlshifflett.wordpress.com/2011/04/25/various-clients-and-forms-authentication/沒有深入研究,它看起來很相似。 –

+0

感謝您的回覆!不幸的是,我找不到任何有用的信息。我需要提及的是,我正嘗試連接到使用基本身份驗證的SharePoint 2007網站。所有SharePoint服務在默認情況下都被停用,只有少數已啓用。 – Slava

回答

0

我終於明白了!服務器使用基本身份驗證,默認情況下,標題設置爲「POST」。所以我需要修改Header,將其設置爲「Basic」並添加憑證。此外

CommunicationException: "Server returned an error: Not Found"

如果有任何未處理的異常總是出現。因此,您需要調試並檢查_innerException以獲取更多信息。

+0

我有soap apis並使用apikey來驗證所有的請求。你能告訴我如何添加apikey。 – Invincible

相關問題