[
https://issues.apache.org/jira/browse/AXIS2C-730?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dimuthu Gamage updated AXIS2C-730:
----------------------------------
Attachment: diff
Hi Antonio,
I resolved this issue assuming the test case i attached in axis2c-753. This
seems to be different case, i.e. This schema has an inner sequence which is not
covered by my test-case.
Just check with the this diff. (I already committed it to the svn)
Thanks
Dimuthu
> using wsdl2c with -d adb option, and element with minOccurs=0 results in
> lost nodes in the deserialize method
> --------------------------------------------------------------------------------------------------------------
>
> Key: AXIS2C-730
> URL: https://issues.apache.org/jira/browse/AXIS2C-730
> Project: Axis2-C
> Issue Type: Bug
> Components: code generation
> Affects Versions: 1.1.0
> Environment: Windows
> Reporter: José Manuel Rubio
> Attachments: AXIS2C-730.patch, diff
>
>
> I created stub using wsdl2c with -d adb option.
> Generated code does not take into account the fact that a node could be
> missing from the input. For example the following code is being generated:
> axis2_status_t AXIS2_CALL
> adb_ship_deserialize(
> adb_ship_t* _ship,
> const axutil_env_t *env,
> axiom_node_t* parent)
> {
> .
> .
> .
> if (current_node && axiom_node_get_data_element( current_node, env) &&
> !axutil_strcmp("actualDraught",
> axiom_element_get_localname((axiom_element_t *)axiom_node_get_data_element(
> current_node, env), env))
> )
> {
> current_element = (axiom_element_t *)axiom_node_get_data_element(
> current_node, env);
> text_value = axiom_element_get_text(current_element, env,
> current_node );
>
> status = adb_ship_set_actualDraught( _ship, env,
>
> atof( text_value));
>
> if( AXIS2_FAILURE == status)
> {
> AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "failed in setting the
> value for actualDraught "
> " %d :: %s",
> env->error->error_number,
>
> AXIS2_ERROR_GET_MESSAGE(env->error));
> return AXIS2_FAILURE;
> }
> }
> if(current_node != NULL)
> {
> //Here it is asking for the next node even when the code above has
> not processed the current_node
> current_node = axiom_node_get_next_sibling( current_node, env);
> }
--
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]