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.
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Retrieving Header of a SOAP Message