Hi, I have a web service that returns a rather complex type in the header: - <SOAP-ENV:Header> - <types:AuthenticationHeader xmlns:types="http://marketdata.net/encodedTypes"> <Key xsi:type="xsd:string">44844E</Key> <Type xsi:type="xsd:string">TokenType</Type> </types:AuthenticationHeader> </SOAP-ENV:Header> I tried to get the response, using: Header respHeader = resp.getHeader(); Object r = resp.getHeader(); System.out.println(r.toString()); if (respHeader!=null) { Vector e = respHeader.getHeaderEntries(); Object d = e.lastElement() ; System.out.println(e.toString()); System.out.println(d.toString()); QName Token = new QName("" , "HeaderEntries"); String TokenValue = respHeader.getAttribute(Token); System.out.println(TokenValue); } I get: [Header=[Attributes={}] [HeaderEntries={[[types:AuthenticationHeader: null]]}]] [methodName=LoginUser] [targetObjectURI=http://logon.earthconnect.net/] [encodin gStyleURI=null] [SOAPContext=[Parts={[cid:null type: text/xml; charset=utf-8 enc : null]}]] [return=null] [Params={}] [Attributes={}] [HeaderEntries={[[types:AuthenticationHeader: null]]}] [[types:AuthenticationHeader: null]] [types:AuthenticationHeader: null] null So, I get null instead of the Key and Type values. It seems that the complex type, AuthenticationHeader, is ignored and discarded. Is there any way I can get to the values? Is there any way I can put these values back into a soap envelope when I make a call later? Thanks! Adrian