如何将自定义头添加到cxf soap请求?
问题描述:
我想用cxf
和spring
SOAP Web服务创建以下XML:如何将自定义头添加到cxf soap请求?
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:key="http://schema.to/WebService">
<soapenv:Header>
<key:Signing>asdasdasd</key:Signing>
</soapenv:Header>
如何才能做到这一点?我如何设置名称空间和自定义标题标签元素?
答
使用以下中的行家CXF配置:
<extraarg>-exsh</extraarg>
<extraarg>true</extraarg>
这产生方法属性@WebParam(header = true)
其然后可以在web服务的访问来提供。
答
使用实现这样
if (msg.getSOAPPart().getEnvelope().getHeader() == null) {
msg.getSOAPPart().getEnvelope().addHeader();
}
msg.getSOAPHeader().addChildElement("Signing", "key").addTextNode("asdasdasd");
javax.xml.ws.handler.soap.SOAPHandler<SOAPMessageContext>
在
public boolean handleMessage(SOAPMessageContext soapMsgCtx)
使用代码CustomHeaderHandler