webServices中的客户端SoapHeader验证问题

固执。 2016-04-27 04:23:21
在调用别人提供的接口时候用WSDL2Java生成了客户端代码。
之前的webServices是Axis2我只要在生成的代码中加入

SOAPHeaderElement soapHeaderElement = new SOAPHeaderElement(
"http://tempuri.org/", "AuthorizationSoapHeader");
soapHeaderElement.setNamespaceURI("http://tempuri.org/");
try {
//System.out.println("username="+Global.userName+",Global.password="+Global.password);
soapHeaderElement.addChildElement("UserName").setValue("username");
soapHeaderElement.addChildElement("Password").setValue("password");
} catch (SOAPException e) {
e.printStackTrace();
}
_call.addHeader(soapHeaderElement);

这段代码就可以进行验证了。
可是现在我改用了CXF框架的webServices后生成的客户端代码也不一样了,有没有知道的大神指点一下。。。
...全文
147 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
固执。 2016-05-03
  • 打赏
  • 举报
回复

package com.define.unitpay.webService.xxticket;

import java.net.MalformedURLException;
import java.net.URL;

import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient;

/**
 * This class was generated by Apache CXF (incubator) 2.0.4-incubator
 * Tue Apr 26 09:13:41 CST 2016
 * Generated source version: 2.0.4-incubator
 * 
 */

@WebServiceClient(name = "Service", targetNamespace = "http://tempuri.org/", wsdlLocation = "http://183.57.87.2:19024/TKWebService.asmx?wsdl")
public class XxService extends Service {

    public final static URL WSDL_LOCATION;
    public final static QName SERVICE = new QName("http://tempuri.org/", "Service");
    public final static QName ServiceSoap = new QName("http://tempuri.org/", "ServiceSoap");
    public final static QName ServiceSoap12 = new QName("http://tempuri.org/", "ServiceSoap12");
    static {
        URL url = null;
        try {
            url = new URL("http://183.57.87.2:19024/TKWebService.asmx?wsdl");
        } catch (MalformedURLException e) {
            System.err.println("Can not initialize the default wsdl from http://183.57.87.2:19024/TKWebService.asmx?wsdl");
            // e.printStackTrace();
        }
        WSDL_LOCATION = url;
    }

    public XxService(URL wsdlLocation) {
        super(wsdlLocation, SERVICE);
    }

    public XxService(URL wsdlLocation, QName serviceName) {
        super(wsdlLocation, serviceName);
    }

    public XxService() {
        super(WSDL_LOCATION, SERVICE);
    }

    /**
     * 
     * @return
     *     returns ServiceSoap
     */
    @WebEndpoint(name = "ServiceSoap")
    public ServiceSoap getServiceSoap() {
        return (ServiceSoap)super.getPort(ServiceSoap, ServiceSoap.class);
    }
    /**
     * 
     * @return
     *     returns ServiceSoap12
     */
    @WebEndpoint(name = "ServiceSoap12")
    public ServiceSoap getServiceSoap12() {
        return (ServiceSoap)super.getPort(ServiceSoap12, ServiceSoap.class);
    }

}
固执。 2016-05-03
  • 打赏
  • 举报
回复
引用 2 楼 tianfang 的回复:
贴出你用的代码
就是用cxf客户端代码生成工具生成的啊,只是不知道怎样在里面添加soapheader验证帐号密码
tianfang 2016-04-30
  • 打赏
  • 举报
回复
贴出你用的代码
固执。 2016-04-29
  • 打赏
  • 举报
回复
。。。没人么

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧