Uploaded image for project: 'Axis2-C'
  1. Axis2-C
  2. AXIS2C-1165

ReferenceParameter in ws-addressing module: problems with namespace and attribute verification

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.3.0, 1.4.0
    • None
    • core/addressing
    • None
    • Windows XP SP2

    Description

      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

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            milinda Milinda Pathirage
            jubi Julien Billon
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment