All Articles

Setting SOAP Headers in Apache CXF – Client

Adding SOAP headers using Apache CXF – Client

ClientProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(SampleService.class);
 
// Set the web service endpoint URL here
factory.setAddress("http://localhost:8181/cxf/sampleService/");
 
SampleService serviceClient = (SampleService) factory.create();
 
// Get the underlying Client object from the proxy object of service interface
Client proxy = ClientProxy.getClient(serviceClient);
 
// Creating SOAP headers to the web service request
 
// Create a list for holding all SOAP headers
List<Header> headersList = new ArrayList<Header>();
 
Header userNameHeader = new Header(new QName("http://sachinhandiekar.com/ws/SampleWS", "userName"), "JohnDoe", new JAXBDataBinding(String.class));
 
headersList.add(userNameHeader);
 
// Add SOAP headers to the web service request
proxy.getRequestContext().put(Header.HEADER_LIST, headersList);
      
 
serviceClient.processData();