You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Denero Watz <de...@yahoo.com> on 2003/07/26 16:53:38 UTC

Retrieving a value from the Soap response ....

Hi
   I have written a soap client(using apache soap api) and the structure of the response from the server is similar to this:
...
...
  <name9>valueOf9<name9>
   <name10>valueOf10</name10>
...
...
 
Now, I am retrieving the value of 'name10' like this:
Parameter result = response.getReturnValue();
Element root = (Element) result.getValue();
NodeList nodes = root.getElementsByTagName("name10");
message = nodes.item(0).getNodeValue();
The value of the message is null here. Can someone tell me what is wrong here?
 
But I got it working by modifying the above by:
message = nodes.item(0).getFirstChild().getNodeValue();
This returns 'valueOf10'. But from the above structure you can see that 'valueOf10' is not a node, so why I have to get the first child of 'name10' to retrive this value.
 
Or am I missing something here??
 
Thanks,
dw
 
 


---------------------------------
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software

Re: Retrieving a value from the Soap response ....

Posted by Robert Lowe <rm...@rmlowe.com>.
This is an eccentricity of DOM. When you call nodes.item(0), it returns an Element node that represents the <node10> element. To get the textual content of an element, you can't call getNodeValue() directly on the Element node; rather, you have to have to get a TextNode object, which is a child of the Element node, and then call getNodeValue() on that.

- Rob

  ----- Original Message ----- 
  From: Denero Watz 
  To: axis-user@ws.apache.org 
  Sent: Saturday, July 26, 2003 10:53 PM
  Subject: Retrieving a value from the Soap response ....


  Hi
     I have written a soap client(using apache soap api) and the structure of the response from the server is similar to this:
  ...
  ...
    <name9>valueOf9<name9>
     <name10>valueOf10</name10>
  ...
  ...

  Now, I am retrieving the value of 'name10' like this:
  Parameter result = response.getReturnValue();
  Element root = (Element) result.getValue();
  NodeList nodes = root.getElementsByTagName("name10");
  message = nodes.item(0).getNodeValue();
  The value of the message is null here. Can someone tell me what is wrong here?

  But I got it working by modifying the above by:
  message = nodes.item(0).getFirstChild().getNodeValue();
  This returns 'valueOf10'. But from the above structure you can see that 'valueOf10' is not a node, so why I have to get the first child of 'name10' to retrive this value.

  Or am I missing something here??

  Thanks,
  dw




------------------------------------------------------------------------------
  Do you Yahoo!?
  Yahoo! SiteBuilder - Free, easy-to-use web site design software