KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am calling a SOAP webservice with Spring-WS. The webservice in question requires me to pass some information in the SOAP header as shown here: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> <CustomHeaderElement> <clientID>xyz</clientID> <wsdlVersion>1.0</wsdlVersion> <serviceType>ExampleService_v1</serviceType> </CustomHeaderElement> </soapenv:Header> <soapenv:Body> ... </soapenv:Body> </soapenv:Envelope> I've figured out how to had the top level CustomHeaderElement, but I don't see anything in the Spring-WS API that allows me to add a child element. Here is what I have so far: WebServiceTemplate template = ...; template.marshalSendAndReceive(request, new WebServiceMessageCallback(){ public void doWithMessage(WebServiceMessage message) throws IOException, TransformerException{ SoapMessage soapMessage = (SoapMessage)message; SoapHeader soapHeader = soapMessage.getSoapHeader(); QName qName = new QName("CustomHeaderElement"); SOAPHeaderElement headerElement = soapHeader.addHeaderElement(qName); //would like to do something like headerElement.addChild(clientIdNode); } }); The problem is headerElement doesn't seem to expose any means of actually adding a child. I know I can add an attribute, but that's not what I need for this service call. Does anyone know how I could add the necessary child elements to my custom header?
Tags (comma-separated)
Save Edits
Cancel