1. 程式人生 > >.net 客戶端調用java webservice進行soapheader驗證

.net 客戶端調用java webservice進行soapheader驗證

服務器 vs2015 分享圖片 ade 是個 使用 問題 客戶端使用 但是

.net 客戶端調用java webservice進行soapheader驗證

最近項目中有業務需要跨平臺調用web服務,客戶端和服務器之間采用非對稱加密來保證數據的安全性,webservice的安全驗證基於soapheader。

客戶端使用.net ,web服務基於java環境,采用cxf 實現。

一. JAVA端web服務

1.具體 java 端 cxf 的web服務的實現不詳細介紹,直接上圖

CXF配置:

技術分享圖片

2.定義攔截器:

技術分享圖片

二 .net端的webservice代理類和客戶端代碼:

1.C#引用java的webservice跟引用C#的webservice一樣,引用URL就可以使用了,但是C#引用java的webservice不會自動生成soapheader,需要自己添加。

技術分享圖片

技術分享圖片

2.建立soapheader類

技術分享圖片

3. Reference.cs代理類中默認不會生成soapheader相關代碼,要手動添加。有個問題,由於reference.cs中的代碼是引用web服務時自動生成的,所以你添加了代碼後,若重新更新引用的webservice,手工增加的代碼會被清除,需要再次添加,這是個坑。

技術分享圖片

代理方法增加SoapHeader屬性

技術分享圖片

客戶端調用代碼:

技術分享圖片

上面是.net調用 java web服務進行 soapheader 驗證的主要過程,在以下環境中測試通過:

.net環境: win10,vs2015,

java環境:java8,cxf3.1.12,spring boot 1.5.13

.net 客戶端調用java webservice進行soapheader驗證