CXF webservice 服务端获取headers为空
//这个是我的客户端拦截器(已经可以成功进入拦截器)
public class AddSoapHeader extends AbstractSoapInterceptor {
public AddSoapHeader() {
super(Phase.WRITE);
}
public void handleMessage(SoapMessage message) throws Fault {
// SoapHeader部分待添加的节点
QName qName = new QName("AuthorizationSoapHeader");
Document doc = DOMUtils.createDocument();
// 验证用户名
Element id = doc.createElement("userName");
id.setTextContent("zhou");
// 验证密码
Element pwd = doc.createElement("password");
pwd.setTextContent("123456");
//验证密码
Element company = doc.createElement("company");
company.setTextContent("880");
Element root = doc.createElementNS("http://tempuri.org/","SoapHeaderMD");
root.appendChild(id);
root.appendChild(pwd);
root.appendChild(company);
// 创建SoapHeader内容
SoapHeader header = new SoapHeader(qName, root);
// 添加SoapHeader内容
List<Header> headers = message.getHeaders();
headers.add(header);
}
}
//这个是服务端的拦截器(已经可以成功进入拦截器)
public class AuthInterceptor extends AbstractPhaseInterceptor<SoapMessage> {
public AuthInterceptor() {
super(Phase.PRE_INVOKE);
getAfter().add(SAAJInInterceptor.class.getName());
}
public void handleMessage(SoapMessage message) throws Fault {
List<Header> h = message.getHeaders(); //获取不了userName之类的参数
}
}