Hi! Thanks for the tip, the JAXB annotations helped! Yes, the property should be called "address" instead of "Address", I just tried it capitalized to see if it changed the xml element name as well, but it did not. Anyway, I just had to add the @XmlElement to the getAddress method, and it works!
Kind regards, Zoltán On Wed, Oct 19, 2011 at 6:17 PM, Glen Mazza <gma...@talend.com> wrote: > I believe there's some JAXB annotations you can add ( > http://jaxb.java.net/guide/) to your Java mapping class to have Address > map to "Address" (or, "pumpkin", for that matter) instead of "address". > Part of the problem is that your POJO is not really a POJO (using proper > camelCasing, shouldn't the String instance be called "address" to begin > with?) Also, links #3 and #4 under "Assorted Topics" here: > http://www.jroller.com/gmazza/**entry/blog_article_index<http://www.jroller.com/gmazza/entry/blog_article_index>show > how to add arbitrary headers to SOAP messages (in case the error is > somehow not JAXB-related.) > > HTH, > Glen > > > On 10/18/2011 03:55 PM, Zoltan Sziladi wrote: > >> Hello, >> >> I would like to request some help about how to add a "From" header to a >> SOAP >> message. >> >> I have created an interceptor inheriting from AbstractSoapInterceptor. In >> the handleMessage method I check if the message is outgoing, and if it is, >> I >> try to add a new header. >> In order to create the header, I have the following class: >> >> public class FromHeader { >> private String Address; >> >> public FromHeader() {} >> >> public void setAddress(String add) { >> this.Address = add; >> } >> >> public String getAddress() { >> return this.Address; >> } >> } >> >> To add the header in the handleMessage method, I use the following code: >> >> Header fromHeader = null; >> try { >> FromHeader fh = new FromHeader(); >> fh.setAddress("http://**clienturi.org/sampleAddress<http://clienturi.org/sampleAddress> >> "); >> fromHeader = new Header(new >> QName("http://www.w3.org/2005/**08/addressing<http://www.w3.org/2005/08/addressing> >> ", >> "HI"), fh, >> new JAXBDataBinding(FromHeader.**class)); >> } catch (JAXBException ex) { >> Logger.getLogger(**AddAddressInterceptor.class.** >> getName()).log(Level.SEVERE, >> null, ex); >> } >> List<Header> soapHeaders = message.getHeaders(); >> >> soapHeaders.add(fromHeader); >> >> When this message arrives to the server, it does not arrive correctly, >> because the "Address" of the class FromHeader changes to "address". >> Because >> of this, the message does not arrive, since the server send error code >> 400. >> Notice how I have "HI" for now as the second parameter of the Header. This >> is because it is supposed to be "From", as I said, but then it does not >> even >> arrive to the server. I changed it to "HI" to at least see the result on >> server side. Apart from this, I think the message arrives correctly. >> >> So my question is, how can I make sure, that the "Address" property of my >> FromHeader class arrives as "Address" instead of "address"? (At least this >> is the only problem I can think of why it is not working). >> >> Thank you in advance for the help! >> >> Kind regards, >> Zoltán >> >> > > -- > Glen Mazza > Talend - http://www.talend.com/apache > Blog - http://www.jroller.com/gmazza > Twitter - glenmazza > >