Java – how do I add soap headers to the spring Jax WS client?
•
Java
How do I add soap headers to the spring Jax WS client?
Specifically, I have a JAXB object that I want to add to the title, but the XML example will be appreciated
I'm using spring's jaxwsportproxyfactory bean to describe here In addition, I am generating my client, as described here, which reduces the titles I need to add
thank you.
Solution
A little elegance (one more class):
public void doWithMessage(WebServiceMessage message) { try { SOAPMessage soapMessage = ((saajSoapMessage)message).getsaajMessage(); SOAPHeader header = soapMessage.getSOAPHeader(); SOAPHeaderElement security = header.addHeaderElement(new QName("http://schemas.xmlsoap.org/ws/2003/06/secext","Security","wsse")); SOAPElement usernameToken = security.addChildElement("UsernameToken","wsse"); SOAPElement username = usernameToken.addChildElement("Username","wsse"); SOAPElement password = usernameToken.addChildElement("Password","wsse"); username.setTextContent(someUsername); password.setTextContent(somePassword); } catch (Exception e) { //... handle appropriately } }
Note: this example already uses spring WS 2.1 4 was tested
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码