Hi Antonio, I think the patch should be send to axis2/c project. (Although the tool is in the axis2/java project, the c templates are mostly maintained by the c project)
Thanks Dimuthu On 10/23/07, Antonio Chiurla (JIRA) <[EMAIL PROTECTED]> wrote: > > > [ > https://issues.apache.org/jira/browse/AXIS2C-730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12536956] > > Antonio Chiurla commented on AXIS2C-730: > ---------------------------------------- > > Hi, > I encountered the same problem. > To resolve it I have modified the .XSL file to correct the generated > source in order to > check if current node is the expected node otherwise do not parse as > expected node > and remember that current node is not consumed in order to not skip to > next node. > I'll try to attach my proposed patch. > Have I to propose this patch in this project (axis2c) or in project > (axis2)? > > > 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] > >