java - How to add xmlbean document element to soap header spring-ws -


i trying hit webservice using spring-ws, webservice producer requires custom element in soap header. new webservices, , having trouble trying inject values soap header. using xmlbeans transform xsd java , marshaling , unmarshaling. have constructed xmlbean document , set values custom header element, need document or maybe element attached document injected soap header. listed below wsdl (just header) in soapui (what used learn , initial testing)

<soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://www.ups.com/xmlschema/xoltws/upss/v1.0" xmlns:v11="http://www.ups.com/xmlschema/xoltws/rate/v1.1" xmlns:v12="http://www.ups.com/xmlschema/xoltws/common/v1.0">    <soapenv:header>       <v1:upssecurity>          <v1:usernametoken>             <v1:username>name</v1:username>             <v1:password>password</v1:password>          </v1:usernametoken>          <v1:serviceaccesstoken>             <v1:accesslicensenumber>accesskey</v1:accesslicensenumber>          </v1:serviceaccesstoken>       </v1:upssecurity>    </soapenv:header> 

i found solution works, , isn't code. had ditch using xmlbeans, , create elements, @ least functionality there , webservice calls works.

@override public void dowithmessage(webservicemessage message) throws ioexception, transformerexception {     try     {         soapmessage soapmessage = ((saajsoapmessage)message).getsaajmessage();         soapheader header = soapmessage.getsoapheader();         soapheaderelement soapheaderelement = header.addheaderelement(new qname("http://www.ups.com/xmlschema/xoltws/upss/v1.0", "upssecurity", "v1"));         soapenvelope envelope = soapmessage.getsoappart().getenvelope();         envelope.addnamespacedeclaration("v1", "http://www.ups.com/xmlschema/xoltws/upss/v1.0");          soapelement usernametoken = soapheaderelement.addchildelement("usernametoken", "v1");         soapelement username = usernametoken.addchildelement("username", "v1");         soapelement password = usernametoken.addchildelement("password", "v1");          soapelement serviceaccesstoken = soapheaderelement.addchildelement("serviceaccesstoken", "v1");         soapelement accesslicensenumber = serviceaccesstoken.addchildelement("accesslicensenumber", "v1");          username.settextcontent("username");         password.settextcontent("password");         accesslicensenumber.settextcontent("key");     }      catch (soapexception e)     {         e.printstacktrace();     } } 

Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -