You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by Sunil Pandit <sp...@csc.com> on 2007/11/27 07:03:30 UTC

Reading attribute on a complex element

Can someone guide me on how to read the attribute value on an element ?

I have a web service that takes a complex element with an attribute.  The
deserialization code generated by WSDL2C is not able to read this
attribute.
So I modified the code and none of the method including
axiom_element_get_all_attributes returns the attributes.
The axiom_element_get_all_attributes returns NULL.

When I log the string form of the node passed to deserialize method , I can
see all the sub elements and the attribute . Here is the code

Any help is sincerely appreciated.

      parent_element = axiom_node_get_data_element(first_node, env);
      qname = axutil_qname_create_from_string(env,"Sequence");
      if(qname != NULL)
      {
            parent_attri = axiom_element_get_attribute(parent_element, env,
qname);
      }

      if(parent_attri == NULL)
      {
            attributes =
axiom_element_get_all_attributes(parent_element,env);
      }

Here is the string form of node passed to the deserialize method

Mon Nov 26 23:32:54 2007] [info]  CommandType : String form of Element is
  <Command Sequence="1">
      <Type>loadsession</Type>
      <Parameter>C:\VPMS\workspace\Federated
Perf\Federated\Models\DADVDOCS_Master\DADVDOCS\DULDOCS_test_cases.VPM</Parameter>
  </Command>




Regards
Sunil Pandit
R&D , CSC FSG Austin
(512)2755792

Computer Sciences Corporation
Registered Office: 2100 East Grand Avenue, El Segundo California 90245, USA
Registered in USA No: C-489-59

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

This is a PRIVATE message. If you are not the intended recipient, please
delete without copying and kindly advise us by e-mail of the mistake in
delivery.
NOTE: Regardless of content, this e-mail shall not operate to bind CSC to
any order or other contract unless pursuant to explicit written agreement
or government initiative expressly permitting the use of e-mail for such
purpose.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org


Re: Reading attribute on a complex element

Posted by Sunil Pandit <sp...@csc.com>.
Never mind . I was not doing

axiom_document_build_all(document,env);

It works as expected now.

Thanks
Sunil Pandit
R&D , CSC FSG Austin
(512)2755792

Computer Sciences Corporation
Registered Office: 2100 East Grand Avenue, El Segundo California 90245, USA
Registered in USA No: C-489-59

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

This is a PRIVATE message. If you are not the intended recipient, please
delete without copying and kindly advise us by e-mail of the mistake in
delivery.
NOTE: Regardless of content, this e-mail shall not operate to bind CSC to
any order or other contract unless pursuant to explicit written agreement
or government initiative expressly permitting the use of e-mail for such
purpose.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------




                                                                           
             Sunil                                                         
             Pandit/FSG/CSC@CS                                             
             C                                                          To 
                                       "Apache AXIS C User List"           
             11/27/2007 11:19          <ax...@ws.apache.org>         
             AM                                                         cc 
                                       "Apache AXIS C User List"           
                                       <ax...@ws.apache.org>         
             Please respond to                                     Subject 
              "Apache AXIS C           Re: Reading attribute on a complex  
                User List"             element                             
             <axis-c-user@ws.a                                             
                pache.org>                                                 
                                                                           
                                                                           
                                                                           
                                                                           




Dimuthu

Thanks for your response. I modified your code to test with my xml .
However the axiom_document_get_root_element
call returns the root element without any children's .

Attached is a log  and xml file (See attached file: test.c).

Any idea ?

(See attached file: alltest.log)(See attached file: VPMSRequest.xml)
Thanks
Sunil Pandit
R&D , CSC FSG Austin
(512)2755792

Computer Sciences Corporation
Registered Office: 2100 East Grand Avenue, El Segundo California 90245, USA
Registered in USA No: C-489-59

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


This is a PRIVATE message. If you are not the intended recipient, please
delete without copying and kindly advise us by e-mail of the mistake in
delivery.
NOTE: Regardless of content, this e-mail shall not operate to bind CSC to
any order or other contract unless pursuant to explicit written agreement
or government initiative expressly permitting the use of e-mail for such
purpose.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------






             "Dimuthu Gamage"
             <dimuthuc@gmail.c
             om>                                                        To
                                       "Apache AXIS C User List"
             11/27/2007 01:21          <ax...@ws.apache.org>
             AM                                                         cc

                                                                   Subject
             Please respond to         Re: Reading attribute on a complex
              "Apache AXIS C           element
                User List"
             <axis-c-user@ws.a
                pache.org>







Hi,
I checked your code and the xml. And it worked. Check the attachments.

I think your problem is the firstNode is not the one you think (<Command>).

If you have spaces in the xml, the axiom think they are text_node, And
currently the code gen is not handling that situation, I have to check
whether it s a bug or not.

If it is the case, just add following lines to get rid of the text_nodes,

while(axiom_node_get_node_type(first_node, env) != AXIOM_ELEMENT)
{
    first_node = axiom_node_get_next_sibling(first_node, env);
}

And if you found the generated code is not working, please let the axis2-c
list know that issue, And hope you are updated with the tool from
http://people.apache.org/dist/axis2/nightly/

Thanks
Dimuthu

On Nov 27, 2007 11:33 AM, Sunil Pandit <sp...@csc.com> wrote:
  Can someone guide me on how to read the attribute value on an element ?

  I have a web service that takes a complex element with an attribute.  The
  deserialization code generated by WSDL2C is not able to read this
  attribute.
  So I modified the code and none of the method including
  axiom_element_get_all_attributes returns the attributes.
  The axiom_element_get_all_attributes returns NULL.

  When I log the string form of the node passed to deserialize method , I
  can
  see all the sub elements and the attribute . Here is the code

  Any help is sincerely appreciated.

       parent_element = axiom_node_get_data_element(first_node, env);
       qname = axutil_qname_create_from_string(env,"Sequence");
       if(qname != NULL)
       {
             parent_attri = axiom_element_get_attribute(parent_element,
  env,
  qname);
       }

       if(parent_attri == NULL)
       {
             attributes =
  axiom_element_get_all_attributes(parent_element,env);
       }

  Here is the string form of node passed to the deserialize method

  Mon Nov 26 23:32:54 2007] [info]  CommandType : String form of Element is
   <Command Sequence="1">
       <Type>loadsession</Type>
       <Parameter>C:\VPMS\workspace\Federated

Perf\Federated\Models\DADVDOCS_Master\DADVDOCS\DULDOCS_test_cases.VPM</Parameter>


   </Command>




  Regards
  Sunil Pandit
  R&D , CSC FSG Austin
  (512)2755792

  Computer Sciences Corporation
  Registered Office: 2100 East Grand Avenue, El Segundo California 90245,
  USA
  Registered in USA No: C-489-59


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



  This is a PRIVATE message. If you are not the intended recipient, please
  delete without copying and kindly advise us by e-mail of the mistake in
  delivery.
  NOTE: Regardless of content, this e-mail shall not operate to bind CSC to

  any order or other contract unless pursuant to explicit written agreement
  or government initiative expressly permitting the use of e-mail for such
  purpose.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------





  ---------------------------------------------------------------------
  To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
  For additional commands, e-mail: axis-c-user-help@ws.apache.org

[attachment "Makefile" deleted by Sunil Pandit/FSG/CSC] [attachment
"test.c" deleted by Sunil Pandit/FSG/CSC] [attachment "test.xml" deleted by
Sunil Pandit/FSG/CSC]
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org[attachment
"test.c" deleted by Sunil Pandit/FSG/CSC] [attachment "alltest.log" deleted
by Sunil Pandit/FSG/CSC] [attachment "VPMSRequest.xml" deleted by Sunil
Pandit/FSG/CSC]
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org


Re: Reading attribute on a complex element

Posted by Sunil Pandit <sp...@csc.com>.
Dimuthu

Thanks for your response. I modified your code to test with my xml .
However the axiom_document_get_root_element
call returns the root element without any children's .

Attached is a log  and xml file (See attached file: test.c).

Any idea ?

(See attached file: alltest.log)(See attached file: VPMSRequest.xml)
Thanks
Sunil Pandit
R&D , CSC FSG Austin
(512)2755792

Computer Sciences Corporation
Registered Office: 2100 East Grand Avenue, El Segundo California 90245, USA
Registered in USA No: C-489-59

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

This is a PRIVATE message. If you are not the intended recipient, please
delete without copying and kindly advise us by e-mail of the mistake in
delivery.
NOTE: Regardless of content, this e-mail shall not operate to bind CSC to
any order or other contract unless pursuant to explicit written agreement
or government initiative expressly permitting the use of e-mail for such
purpose.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------




                                                                           
             "Dimuthu Gamage"                                              
             <dimuthuc@gmail.c                                             
             om>                                                        To 
                                       "Apache AXIS C User List"           
             11/27/2007 01:21          <ax...@ws.apache.org>         
             AM                                                         cc 
                                                                           
                                                                   Subject 
             Please respond to         Re: Reading attribute on a complex  
              "Apache AXIS C           element                             
                User List"                                                 
             <axis-c-user@ws.a                                             
                pache.org>                                                 
                                                                           
                                                                           
                                                                           




Hi,
I checked your code and the xml. And it worked. Check the attachments.

I think your problem is the firstNode is not the one you think (<Command>).

If you have spaces in the xml, the axiom think they are text_node, And
currently the code gen is not handling that situation, I have to check
whether it s a bug or not.

If it is the case, just add following lines to get rid of the text_nodes,

while(axiom_node_get_node_type(first_node, env) != AXIOM_ELEMENT)
{
    first_node = axiom_node_get_next_sibling(first_node, env);
}

And if you found the generated code is not working, please let the axis2-c
list know that issue, And hope you are updated with the tool from
http://people.apache.org/dist/axis2/nightly/

Thanks
Dimuthu

On Nov 27, 2007 11:33 AM, Sunil Pandit <sp...@csc.com> wrote:
  Can someone guide me on how to read the attribute value on an element ?

  I have a web service that takes a complex element with an attribute.  The
  deserialization code generated by WSDL2C is not able to read this
  attribute.
  So I modified the code and none of the method including
  axiom_element_get_all_attributes returns the attributes.
  The axiom_element_get_all_attributes returns NULL.

  When I log the string form of the node passed to deserialize method , I
  can
  see all the sub elements and the attribute . Here is the code

  Any help is sincerely appreciated.

       parent_element = axiom_node_get_data_element(first_node, env);
       qname = axutil_qname_create_from_string(env,"Sequence");
       if(qname != NULL)
       {
             parent_attri = axiom_element_get_attribute(parent_element,
  env,
  qname);
       }

       if(parent_attri == NULL)
       {
             attributes =
  axiom_element_get_all_attributes(parent_element,env);
       }

  Here is the string form of node passed to the deserialize method

  Mon Nov 26 23:32:54 2007] [info]  CommandType : String form of Element is
   <Command Sequence="1">
       <Type>loadsession</Type>
       <Parameter>C:\VPMS\workspace\Federated
  Perf\Federated\Models\DADVDOCS_Master\DADVDOCS\DULDOCS_test_cases.VPM</Parameter>

   </Command>




  Regards
  Sunil Pandit
  R&D , CSC FSG Austin
  (512)2755792

  Computer Sciences Corporation
  Registered Office: 2100 East Grand Avenue, El Segundo California 90245,
  USA
  Registered in USA No: C-489-59

  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


  This is a PRIVATE message. If you are not the intended recipient, please
  delete without copying and kindly advise us by e-mail of the mistake in
  delivery.
  NOTE: Regardless of content, this e-mail shall not operate to bind CSC to

  any order or other contract unless pursuant to explicit written agreement
  or government initiative expressly permitting the use of e-mail for such
  purpose.
  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------




  ---------------------------------------------------------------------
  To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
  For additional commands, e-mail: axis-c-user-help@ws.apache.org

[attachment "Makefile" deleted by Sunil Pandit/FSG/CSC] [attachment
"test.c" deleted by Sunil Pandit/FSG/CSC] [attachment "test.xml" deleted by
Sunil Pandit/FSG/CSC]
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org

Re: Reading attribute on a complex element

Posted by Dimuthu Gamage <di...@gmail.com>.
Hi,
I checked your code and the xml. And it worked. Check the attachments.

I think your problem is the firstNode is not the one you think (<Command>).
If you have spaces in the xml, the axiom think they are text_node, And
currently the code gen is not handling that situation, I have to check
whether it s a bug or not.

If it is the case, just add following lines to get rid of the text_nodes,

while(axiom_node_get_node_type(first_node, env) != AXIOM_ELEMENT)
{
    first_node = axiom_node_get_next_sibling(first_node, env);
}

And if you found the generated code is not working, please let the axis2-c
list know that issue, And hope you are updated with the tool from
http://people.apache.org/dist/axis2/nightly/

Thanks
Dimuthu

On Nov 27, 2007 11:33 AM, Sunil Pandit <sp...@csc.com> wrote:

> Can someone guide me on how to read the attribute value on an element ?
>
> I have a web service that takes a complex element with an attribute.  The
> deserialization code generated by WSDL2C is not able to read this
> attribute.
> So I modified the code and none of the method including
> axiom_element_get_all_attributes returns the attributes.
> The axiom_element_get_all_attributes returns NULL.
>
> When I log the string form of the node passed to deserialize method , I
> can
> see all the sub elements and the attribute . Here is the code
>
> Any help is sincerely appreciated.
>
>      parent_element = axiom_node_get_data_element(first_node, env);
>      qname = axutil_qname_create_from_string(env,"Sequence");
>      if(qname != NULL)
>      {
>            parent_attri = axiom_element_get_attribute(parent_element, env,
> qname);
>      }
>
>      if(parent_attri == NULL)
>      {
>            attributes =
> axiom_element_get_all_attributes(parent_element,env);
>      }
>
> Here is the string form of node passed to the deserialize method
>
> Mon Nov 26 23:32:54 2007] [info]  CommandType : String form of Element is
>  <Command Sequence="1">
>      <Type>loadsession</Type>
>      <Parameter>C:\VPMS\workspace\Federated
>
> Perf\Federated\Models\DADVDOCS_Master\DADVDOCS\DULDOCS_test_cases.VPM</Parameter>
>  </Command>
>
>
>
>
> Regards
> Sunil Pandit
> R&D , CSC FSG Austin
> (512)2755792
>
> Computer Sciences Corporation
> Registered Office: 2100 East Grand Avenue, El Segundo California 90245,
> USA
> Registered in USA No: C-489-59
>
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>
> This is a PRIVATE message. If you are not the intended recipient, please
> delete without copying and kindly advise us by e-mail of the mistake in
> delivery.
> NOTE: Regardless of content, this e-mail shall not operate to bind CSC to
> any order or other contract unless pursuant to explicit written agreement
> or government initiative expressly permitting the use of e-mail for such
> purpose.
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>
>