Win a copy of Murach's Java Programming this week in the Beginning Java forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Retrieving Header of a SOAP Message  RSS feed

 
Andrew Prinoli
Greenhorn
Posts: 22
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 2187
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 2187
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
There is no beard big enough to make me comfortable enough with my masculinity to wear pink. Tiny ad:
Thoughts on deprecation in Java
https://coderanch.com/t/683016/java/Deprecation-Java
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!