[ https://issues.apache.org/jira/browse/AXIS2C-987?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dimuthu Gamage resolved AXIS2C-987. ----------------------------------- Resolution: Fixed Already Fixed > Generated adb stubs do not support attributes with namespaces > ------------------------------------------------------------- > > Key: AXIS2C-987 > URL: https://issues.apache.org/jira/browse/AXIS2C-987 > Project: Axis2-C > Issue Type: Bug > Components: code generation > Affects Versions: 1.2.0 > Environment: Windows XP, Visual Studio 2005, guththila, libcurl > Reporter: Bill Mitchell > Attachments: case36_qualified_ns.zip > > > For the attributes defined in the wsdl, the generated stub classes require > that the namespace prefix be omitted from the attribute. If a prefix is > attached to the attribute, the generated stub fails to find the attribute. > For example, the following is the code that looks for a "handle" attribute: > parent_attri = NULL; > attrib_text = NULL; > if(attribute_hash) > { > axutil_hash_index_t *hi; > void *val; > const void *key; > for (hi = axutil_hash_first(attribute_hash, env); hi; > hi = axutil_hash_next(env, hi)) > { > axutil_hash_this(hi, &key, NULL, &val); > > > if(!strcmp((axis2_char_t*)key, "handle")) > > { > parent_attri = (axiom_attribute_t*)val; > break; > } > } > } > if(parent_attri) > { > attrib_text = axiom_attribute_get_value(parent_attri, > env); > } > else > { > /* this is hoping that attribute is stored in "handle", > this happnes when name is in default namespace */ > attrib_text = > axiom_element_get_attribute_value_by_name(parent_element, env, "handle"); > } > The strcmp compares the attribute key against the string "handle", but the > attribute key is the qname string from the attribute. > Obviously the robust fix is to ensure the attribute localname matches, and > that the namespace uri matches if present. > The quick fix is to replace the strcmp with something like: > > if(!strcmp(axiom_attribute_get_localname((axiom_attribute_t *)val, env), > "handle")) > I suspect this quick fix is not the longterm fix, as it accepts an attribute > with a different uri than that expected. It appears to me that the non-uri > case is handled later in the code by the > axiom_element_get_attribute_value_by_name call. The hash search loop was > probably intended to compare against the attribute qname, but the qname logic > was may have been removed temporarily or not fully implemented to solve other > issues with the default namespace or multiple namespaces in 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]