.net 客戶端調用java webservice進行soapheader驗證
阿新 • • 發佈:2019-03-06
服務器 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驗證