2010-04-16 96 views
0

我試圖消費使用證書的Java Web服務。我可以生成代理,添加服務參考。問題是:它需要基本的HTTP授權標頭。 它需要引用用戶/密碼並將它們傳遞到標題中。使用.NET客戶端消費Java Web服務

謝謝。

回答

1

這取決於您使用的.NET版本。

如果您可以使用WCF,您只需更改綁定,傳遞憑據並讓框架完成工作。

你可以在這裏找到配置說明(你只需要客戶端配置下半場):

Transport Security with Basic Authentication - MSDN

否則,您可以下載Web Service Extensions (WSE) 3.0和使用,對於簡單的身份驗證。

Implementing Direct Authentication with UsernameToken in WSE 3.0

+0

感謝您的WCF解決方案。在客戶端(Windows窗體)中使用ServiceModel組件進行工作。對於授權,我只是啓用綁定以使用基本安全性,並傳入客戶端證書。 – Erup 2010-04-17 22:24:13

0

這聽起來像Java的Web服務使用SSL,TLS協議,而不是老派的SSL協議。您不需要「在標題中加密證書用戶名和密碼」。我現在不在你聽到的那個地方。如果它的一個常規證書是Java默認cacerts密鑰庫的一部分,那麼Java已經擁有內置的密碼。

如果我是自簽名證書(在Web服務端),您可能需要以某種方式告訴C#信任自簽名證書。另外,您所指的「憑證」不是用戶名+密碼,而是僅僅是私鑰有效負載。

+0

我認爲你沒有得到我應該說的意思,但它確定。我的意思是在自定義標題中,它需要傳遞憑據。我已將證書添加到可信證書中。 – Erup 2010-04-16 19:24:24

+0

要強制應用程序信任證書,我使用了此處描述的解決方法:http://www.ben-morris.com/asp-net-web-services-and-ssl-certificates-establishing-a-trust-relationship – Erup 2010-04-17 22:26:33