[
https://issues.apache.org/jira/browse/AXIS2C-557?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Samisa Abeysinghe updated AXIS2C-557:
-------------------------------------
Fix Version/s: (was: Current (Nightly))
Priority: Major (was: Blocker)
> 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
>
> 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]