Hello, I'm playing with axis2/c ws-addressing module (axis2/c 1.3.0 and 1.4.0) and 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 "wsa" 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". What do you think of this ? Is my thinking correct ? Regards, Julien --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
