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
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]