2012-04-23 383 views
1

我有一個很長的運行任務,我需要從我的網站取得並放入Web服務,但是每次嘗試調用Web服務時都會收到此錯誤消息The request failed with HTTP status 401: Unauthorized.Web服務失敗請求失敗,出現HTTP狀態401:未授權

我認爲這可能僅僅是與發送電子郵件的時候,所以我這樣做,因爲我已經看到了類似的東西憑據的問題:

 Dim wsCustomer As New blueprintdev.RosterEmailService() 

     Dim basicAuthenticationInfo As New System.Net.NetworkCredential("user", "pass") 

     wsCustomer.UseDefaultCredentials = False 

     wsCustomer.PreAuthenticate = True 

     wsCustomer.Credentials = basicAuthenticationInfo 

     txtTestResult.Text = wsCustomer.Test() 

這仍然給了我同樣的問題。

此外,嘗試使用默認憑據,這仍然沒有幫助。

現在我不知道如何正確地做到這一點,所以我主要關閉了教程等,誰能告訴我什麼即時做錯了嗎?

感謝

其他注意事項:該項目IM工作的是我繼承了我加入公司,並不能建立在Visual Studio中通過代碼,以便設置斷點不是我的選擇沒有大規模黑客的項目,刪除了很多代碼。

更新:運行小提琴手顯示我3項,當我看AUTH選項卡,我看到:

No Proxy-Authenticate Header is present. 

WWW-Authenticate Header (Negotiate) appears to be a Kerberos reply: 
A1 15 30 13 A0 03 0A 01 03 A1 0C 06 0A 2B 06 01 ¡.0. ....¡...+.. 
04 01 82 37 02 02 0A        ..7...   

然後

No Proxy-Authenticate Header is present. 

WWW-Authenticate Header (Negotiate) appears to be a Kerberos reply: 
A1 81 E2 30 81 DF A0 03 0A 01 01 A2 81 D7 04 81 ¡â0ß ....¢×. 
D4 4E 54 4C 4D 53 53 50 00 02 00 00 00 0E 00 0E ÔNTLMSSP........ 
00 38 00 00 00 15 82 89 E2 C1 20 C3 44 5E 99 21 .8....âÁ ÃD^! 
A0 00 00 00 00 00 00 00 00 8E 00 8E 00 46 00 00 ..........F.. 
00 06 01 B1 1D 00 00 00 0F 41 00 43 00 41 00 44 ...±.....A.C.A.D 
00 45 00 4D 00 59 00 02 00 0E 00 41 00 43 00 41 .E.M.Y.....A.C.A 
00 44 00 45 00 4D 00 59 00 01 00 06 00 44 00 45 .D.E.M.Y.....D.E 
00 56 00 04 00 1A 00 6C 00 6F 00 63 00 61 00 6C .V.....l.o.c.a.l 
00 2E 00 41 00 63 00 61 00 64 00 65 00 6D 00 79 ...A.c.a.d.e.m.y 
00 03 00 22 00 44 00 45 00 56 00 2E 00 6C 00 6F ...".D.E.V...l.o 
00 63 00 61 00 6C 00 2E 00 41 00 63 00 61 00 64 .c.a.l...A.c.a.d 
00 65 00 6D 00 79 00 05 00 1A 00 6C 00 6F 00 63 .e.m.y.....l.o.c 
00 61 00 6C 00 2E 00 41 00 63 00 61 00 64 00 65 .a.l...A.c.a.d.e 
00 6D 00 79 00 07 00 08 00 2E 76 48 74 53 21 CD .m.y......vHtS!Í 
01 00 00 00 00   

         .....   

最後這一個紅色

No Proxy-Authenticate Header is present. 

No WWW-Authenticate Header is present. 
突出

這是否意味着身份驗證數據在客戶端和服務器之間的某處丟失?或者我沒有通過任何事情開始?

+0

第一步,找到問題的根源是連接到Web服務自己通過瀏覽器 - 如果你也得到了401,那麼你需要與誰提供的Web服務,並要求他們讓你通過。如果沒有,那麼你知道它是關於你的應用程序憑證。像Fiddler這樣的工具可以告訴你什麼HTTP流量已經過去,並且通常會幫助揭示出現這種情況的問題。 – glenatron 2012-04-23 10:53:17

+0

謝謝,我可以通過瀏覽器連接到服務,並獲得列出方法的基本概覽屏幕。我應該看看小提琴手? – Purplegoldfish 2012-04-23 10:58:34

+0

將其添加到網絡上。config: Milee 2012-04-23 12:45:16

回答

1

如果你可以通過瀏覽器訪問服務,我建議你傳遞你的用戶名,包括域作爲憑證。

的用戶名應該是這個樣子:域\用戶

0

我也曾有過類似的問題,用戶名和密碼必須明確的添加。

即。

wsCustomer.username = "something" 
    wsCustomer.password = "something else" 

我想你已經這樣做有:

Dim basicAuthenticationInfo As New System.Net.NetworkCredential("user", "pass") 

但也許值得一試

相關問題