关于Apache-CXF客户端权限认证

 这个可以写,CXF真是强悍,只要是标准 SOA P 服务都可以调用,MD,遇到过XI接口的coder应该不少吧,...如何苦逼就不讲了,前提wsdl2java代码先反生成出来,大致实现有两种方式:
    
    1,直接在spring-cxf.xml配置权限

    
<?xml version="1.0" encoding="UTF-8"?>
       xmlns:jaxws=" http://cxf.apache.org/jaxws"
       xmlns:soap=" http://cxf.apache.org/bindings/soap"
       xmlns:java=" http://cxf.apache.org/jaxrs-client"
             http://cxf.apache.org/jaxws 
             http://cxf.apache.org/schemas/jaxws.xsd 
             http://cxf.apache.org/jaxrs-client             
             http://cxf.apache.org/schemas/jaxrs-client.xsd">

    <jaxws:client id="mm006" serviceClass="com.xxxxx.ext.mm006.SICGHWSCREQ"
                 address=" http://10.10.10.3:50000/XISOAPAdapter/MessageServlet"
                  username="xi_user"
                 password="xi_password" >
    </jaxws:client>  
</beans>  
然后@Autowire,,,,,,,,,,,,,

2.把权限验证配置在代码里,为啥,(全新开发谁都会弄,当你涉及到二次开发,对别人固化架构没有办法动刀时,苦逼不?)核心代码片段:
   //获取服务
   SICGWLJHREQ si = new SICGWLJHREQService().getSICGWLJHREQPort();
   //设置请求头验证信息
    javax.xml.ws.BindingProvider bp = (javax.xml.ws.BindingProvider)si;
   java.util.Map<String,Object> context = bp.getRequestContext();
   context.put(javax.xml.ws.BindingProvider.USERNAME_PROPERTY,"xi_user");
   context.put(javax.xml.ws.BindingProvider.PASSWORD_PROPERTY,"xi_password");
   //获取返回结果
   DTCGWLJHRESP ds = si.siCGWLJHREQ(XXXXX);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值