zoukankan      html  css  js  c++  java
  • CXF远程接口调用 用户名密码校验的方法:

    利用wsdl2java工具生成webservice的客户端代码
    参照链接:
    https://www.cnblogs.com/shaosks/p/9617401.html

    身份验证代码:

    package com...tests;
    
    import java.util.List;
    import javax.xml.namespace.QName;
    import org.apache.cxf.binding.soap.SoapMessage;
    import org.apache.cxf.headers.Header;
    import org.apache.cxf.helpers.DOMUtils;
    import org.apache.cxf.interceptor.Fault;
    import org.apache.cxf.phase.AbstractPhaseInterceptor;
    import org.apache.cxf.phase.Phase;
    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    
    
    public class ClientAuthInterceptor extends AbstractPhaseInterceptor<SoapMessage>{
    
        // 用户名
        private static final String NAME = "admin";
        // 密码
        private static final String PASSWORD = "admin";
        // 密钥
        private static final String SIGNSTR = "******************";
    
        public ClientAuthInterceptor() {
            super(Phase.PREPARE_SEND);
        }
         
        @Override
        public void handleMessage(SoapMessage message) throws Fault {
            // 消息头
            List<Header> headers = message.getHeaders();
            Document doc = DOMUtils.createDocument();
            Element auth = doc.createElement("auth");
            Element name = doc.createElement("username");
            Element password = doc.createElement("password");
            Element signstr = doc.createElement("signstr");
            name.setTextContent(NAME);
            password.setTextContent(PASSWORD);
            signstr.setTextContent(SIGNSTR);
            auth.appendChild(name);
            auth.appendChild(password);
            auth.appendChild(signstr);
            headers.add(new Header(new QName(""), name));
            headers.add(new Header(new QName(""), password));
            headers.add(new Header(new QName(""), signstr));
        }
    }

    main 方法测试:

  • 相关阅读:
    spring 好处与优点
    在SSH框架中使用Spring的好处
    xml配置文件详解
    了解OpenStack
    剖析云计算中的“共享型数据库”(转载)
    云计算开始。。。
    (一)使用springAPI以及自定义类 实现AOP-aop编程
    依赖注入之针对不同类型变量的几种注入方式
    Spring学习笔记--环境搭建和初步理解IOC
    hdu5305Friends dfs
  • 原文地址:https://www.cnblogs.com/lifan12589/p/14486388.html
Copyright © 2011-2022 走看看