我们已经知道在handler中可以对发送的消息进行拦截和处理。现在我们在client端的handler中添加header信息。同时在server端接收。
client端的HeaderHandler.java:
package service.ps.smile.com.handler;
import java.util.Set;
import javax.xml.namespace.QName;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPHeader;
import javax.xml.soap.SOAPMessage;
import javax.xml.ws.handler.MessageContext;
import javax.xml.ws.handler.soap.SOAPHandler;
import javax.xml.ws.handler.soap.SOAPMessageContext;
public class HeaderHandler implements SOAPHandler<SOAPMessageContext> {
private String ns = "http://com.smile.ps.service/";
@Override
public boolean handleMessage(SOAPMessageContext context) {
try {
boolean out = (Boolean)context.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
if(out){
SOAPMessage message = context.getMessage();
//判断message是