Hi Milinda, thanks for the fix but I see that you just replaced attr_value = axiom_attribute_get_localname(om_attr, env); by attr_value = axiom_attribute_get_value(om_attr, env);
I think it may be safer to first check the attribute's localname (IsReferenceParameter) and then check the attribute's value (true) like : attr_value = axiom_attribute_get_localname(om_attr, env); if (axutil_strcmp(attr_value, AXIS2_WSA_IS_REFERENCE_PARAMETER_ATTRIBUTE) == 0) { attr_value = axiom_attribute_get_value(om_attr, env); if(axutil_strcmp(attr_value, AXIS2_WSA_TYPE_ATTRIBUTE_VALUE) == 0) axis2_msg_info_headers_add_ref_param(msg_info_headers, env, header_block_node); } Moreover, I think that there is still a problem with the wsa_qname variable (same function) as it is constructed with a NULL namespace prefix instead of "wsa" or something like that. As a result, axiom_element_get_attribute() always returns a NULL pointer as it looks for IsReferenceParameter in the om_element->attributes hash table without taking care of the namespace prefix. Rgds, julien On Wed, Jun 25, 2008 at 9:50 AM, Milinda Lakmal Pathirage (JIRA) <[EMAIL PROTECTED]> wrote: > > [ > https://issues.apache.org/jira/browse/AXIS2C-1165?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel > ] > > Milinda Lakmal Pathirage resolved AXIS2C-1165. > ---------------------------------------------- > > Resolution: Fixed > Fix Version/s: Current (Nightly) > > Fixed in current SVN Head. > >> ReferenceParameter in ws-addressing module: problems with namespace and >> attribute verification >> ---------------------------------------------------------------------------------------------- >> >> Key: AXIS2C-1165 >> URL: https://issues.apache.org/jira/browse/AXIS2C-1165 >> Project: Axis2-C >> Issue Type: Bug >> Components: core/addressing >> Affects Versions: 1.3.0, 1.4.0 >> Environment: Windows XP SP2 >> Reporter: Julien Billon >> Assignee: Milinda Lakmal Pathirage >> Fix For: Current (Nightly) >> >> >> In axis2/c ws-addressing module, I've noticed something strange with >> Reference Parameters in EPR: >> I have a message with a <soapenv:Header> like >> <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing" >> xmlns:test="http://example.com/test"> >> <wsa:To>http://example.com/services/testSvc</wsa:To> >> <test:CorrID wsa:IsReferenceParameter="true">123456789</test:CorrID> >> <wsa:Action>http://example.com/actionTest</wsa:Action> >> <wsa:MessageID>6dc6e535-1a70-4544-9715-26f06cdcf7bb</wsa:MessageID> >> </soapenv:Header> >> In the axis2_addr_in_extract_ref_params() function of the ws-addressing >> module, the wsa_qname variable is defined with axutil_qname_create(env, >> "IsReferenceParameter", "http://www.w3.org/2005/08/addressing", NULL) and as >> you can see, there is no prefix specified whereas the wsa namespace must be >> used according to the w3c recommendation (for ws-addressing). As a result, >> axiom_element_get_attribute( ..., wsa_qname) returns a NULL pointer. I've >> replaced the NULL prefix with "wsa" in wsa_qname and >> axiom_element_get_attribute( ..., wsa_qname) returns the correct attribute >> (IsReferenceParameter). The next function axiom_attribute_get_localname() >> returns "IsReferenceParameter" but this value is then compared with "true" >> (axutil_strcmp(attr_value, "true")). I think there's a little >> misunderstanding here between axiom_attribute_get_localname() and >> axiom_attribute_get_value(), we must first check if >> axiom_attribute_get_localname() returns "IsReferenceParameter" and then if >> axiom_attribute_get_value() returns "true". >> Regards, >> Julien > > -- > 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] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]