客户端添加soapHeader 记录
package com.want.fchdev.test;
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 ClientCheckInterceptor extends AbstractPhaseInterceptor<SoapMessage> {
public ClientCheckInterceptor() {
super(Phase.PREPARE_SEND);
}
@Override
public void handleMessage(SoapMessage message) throws Fault {
List<Header> headers = message.getHeaders();
Document document = DOMUtils.createDocument();
Element userName = document.createElement("userName");
userName.setTextContent("root");
Element passWord = document.createElement("passWord");
passWord.setTextContent("admin");
headers.add(new Header(new QName(""), userName));
headers.add(new Header(new QName(""), passWord));
}
// <userName>root</userName>
// <passWord>admin</passWord>
}
package com.want.fch.test;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.frontend.ClientProxy;
import com.want.fch.CommonReturnType;
import com.want.fch.GroupcodeCCKServiceImpl;
import com.want.fch.GroupcodeCCKServiceImplService;
import com.want.fch.Groupcoder5Vo;
import com.want.fchdev.test.ClientCheckInterceptor;
public class Test {
public static void main(String[] args) {
GroupcodeCCKServiceImplService service = new GroupcodeCCKServiceImplService();
GroupcodeCCKServiceImpl ser = service.getGroupcodeCCKServiceImplPort();
// 添加soapHeader
Client client = ClientProxy.getClient(ser);
client.getOutInterceptors().add(new ClientCheckInterceptor());
// 调用服务端发布的方法
Groupcoder5Vo vo = new Groupcoder5Vo();
vo.setOFFSET(1);
vo.setPRDBATCH("20190109");
vo.setPRDID("004");
CommonReturnType cr = ser.queryGroupcode(vo);
System.out.println(cr);
}
}