aspose file tools*
The moose likes Web Services and the fly likes Retrieving Header of a SOAP Message Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Web Services
Bookmark "Retrieving Header of a SOAP Message" Watch "Retrieving Header of a SOAP Message" New topic
Author

Retrieving Header of a SOAP Message

Andrew Prinoli
Greenhorn

Joined: Jan 11, 2007
Posts: 22
I create a simple axis Message whith this simple procedure :



And I think that that part of code should work ok..since if I print out the message with i.e. "msg.writeTo(System.out)" it works..

I need to retrieve the SOAP header , but I keep on getting errors (nullpointer..) while doing it with "msg.getSOAPHeader()".
It doesn't even work doing so :



How should I do that?
Thanks a lot in Advance..
Bye

A.P
Jimmy Clark
Ranch Hand

Joined: Apr 16, 2008
Posts: 2187
There is no SOAP header in the message. You shouldn't expect the getHeaders() method to return anything.

Below is a SOAP instance with a header for example.

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">


<soapenv:Header>
<wsse:Security soapenv:actor="http://amazon.com/cop" soapenv:mustUnderstand="0" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>JavaranchMoose</wsse:Username>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>


<soapenv:Body>
<ns1:createMarketOrder soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://amazon.com">
<symbol xsi:type="xsd:string">AMZ</symbol>
<buy href="#id0"/>
<quantity href="#id1"/>
</ns1:createMarketOrder>
<multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:int" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">200</multiRef>
<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:boolean" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">false</multiRef>
</soapenv:Body>


</soapenv:Envelope>
[ November 14, 2008: Message edited by: James Clark ]
Jimmy Clark
Ranch Hand

Joined: Apr 16, 2008
Posts: 2187
Keep in mind, in regards to form, it is best to separate the implementation of header processing from the implementation of the actual service processing.
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
 
subject: Retrieving Header of a SOAP Message