2012-01-04 103 views
0

我使用wsdlc ANT任務從wsdl創建了一個JAXWS webservice,並部署在Weblogic 10.3.0中。我們有Sun一個Java Server 7.0,其中安裝了Verisign Server證書並將其配置爲將Web服務請求轉發到weblogic。JAXWS客戶端使用X509服務器身份驗證調用JAXWS Webservice

我使用wsimport ant任務創建了一個JAXWS客戶端來調用webservice。當使用https URL運行客戶端時,我可以看到weblogic中的xml請求,webservice已成功處理。但我無法在xml請求/響應中找到任何x509證書的證據。除了使用wsimport生成存根外,還需要在客戶端執行任何操作嗎?通過瀏覽器查看wsdl時的FYI通過瀏覽器可以查看證書詳細信息。

回答

4

您通過HTTPS連接到WebService,您的客戶端和服務器執行x509證書交換。這是在連接級別執行的,wsimport與此無關。如果您想在該級別上使用x509證書,則需要深入探究Java HTTPS client certificate authentication/Java client for the X.509 secured web-service和服務器端Securing WebLogic Server: Configuring SSL

或者,您可以下降一級:使用HTTP協議連接到服務器,並在SOAP級別上執行加密/簽名/身份驗證。然後,請參閱User authenticate in SOAPUsing JAX-WS-Based Web Services with SSL的Metro/JAX-WS服務,WS-Security用於Apache CXF,Spring Security With X.509 Certificate用於Spring Security - 取決於您選擇的框架。

+0

是的,我們需要在傳輸級別進行身份驗證。當調用webservice時,我們如何驗證身份驗證是否真的發生?我相信在SOAP級別上,我們可以看到xml請求中的證書詳細信息是否正確? – Doss 2012-01-04 17:05:30

+0

嘗試運行未初始化證書存儲區的客戶端。它應該失敗。在服務器端調試也很有幫助。 – 2012-01-04 17:19:44

+0

其實我沒有初始化任何商店,它沒有失敗。所以我認爲服務器端沒有啓用證書,但是當我使用https通過瀏覽器查看wsdl時,我可以通過瀏覽器窗口查看證書詳細信息。 – Doss 2012-01-04 17:32:58

0

我能夠使用-Djavax.net.debug = all驗證SSL握手。我沒有修改我的客戶端以包含信任庫,如果證書由可信任的CA簽署,則不需要它。

相關問題