axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dave Meier (JIRA)" <j...@apache.org>
Subject [jira] Created: (AXIS2C-557) WSDL2C: generated adb code does not allow any elements to be omitted - too inflexible
Date Tue, 20 Mar 2007 15:18:32 GMT
WSDL2C: generated adb code does not allow any elements to be omitted - too inflexible
-------------------------------------------------------------------------------------

                 Key: AXIS2C-557
                 URL: https://issues.apache.org/jira/browse/AXIS2C-557
             Project: Axis2-C
          Issue Type: Bug
          Components: code generation
    Affects Versions: Current (Nightly)
         Environment: Windows XP
            Reporter: Dave Meier
            Priority: Blocker
             Fix For: Current (Nightly)


I am using WSDL2C with adb data binding.

The code that is generated requires all elements specified in the WSDL for a given web service
call to be present.  It should instead check the name of each node and allow some data elements
to be omitted.

Instead it generates code like the following, where it assumes the next node is the node it
expects.  It should check the name of the node and skip to the next expected node if the name
does not match:

                     
                                   /**
                                     * because elements are ordered this works fine
                                     */
                                   
                                   if( current_node != NULL)
                                   {
                                       current_node = AXIOM_NODE_GET_NEXT_SIBLING( current_node,
env);
                                   }
                                 
                           if ( current_node != NULL)
                           {
                              current_element = AXIOM_NODE_GET_DATA_ELEMENT( current_node,
env);
                                      text_value = AXIOM_ELEMENT_GET_TEXT(current_element,
env, current_node );

Here it blindly gets the text_value and sets it into the field that it expects the value to
be for.  This means that all the nodes must be present or it will set the wrong values in
the fields.  So if  new arguments are added to an object passed in the call, it will no longer
be backwards compatible with clients that are using the older version of the WSDL.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


Mime
View raw message