.net 客户端调用java webservice进行soapheader验证

.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

猜你喜欢

转载自www.cnblogs.com/JerryTian/p/10479652.html