Axis-C++
  1. Axis-C++
  2. AXISCPP-712

Attributes not supported on the SOAP header

    Details

    • Type: Wish Wish
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: current (nightly)
    • Component/s: Client - API
    • Labels:
      None

      Description

      Attributes are not supported on the SOAP header. I do not mean on header blocks where they are supported. I mean on the SOAP header itself. Here is some discussion about it from the mailing list....

      ---------------------------------------------------------------------------------------------------------
      Hi Mark,
      I looked into the problems reported by you and looks like I have
      made a mistake by leaving SoapHeader undeleted. However, I left this
      alone because I did not want to new SoapHeader every time. So your fix
      solves the problem by returning in serialize if there is nothing in
      SoapHeader to be serialized.

      I do not think that Attributes and Namespaces on SoapHeader are
      redundant. I think they are not being exposed so that people could set
      them on a SoapHeader. So I too think that those methods to add them
      should be externalised as you have suggested.

      Thanks,
      Samisa...

      On 6/24/05, Mark Whitlock <mark_whitlock@uk.ibm.com> wrote:
      >
      >
      >
      >
      > Hi Samisa,
      > I have fixed TestSoapHeaderBlock (and other similar tests) which were
      > failing when the test added header blocks, invoked the web service, deleted
      > the header blocks, invoked the web service again and the soap message
      > produced contained a soap header begin and end tag, with no header blocks
      > in it. I think this was due to SoapSerializer::reset clearing the
      > HeaderBlocks but not deleting the SoapHeader itself. I've fixed this by
      > making SoapHeader::serialize return immediately if there are no
      > HeaderBlocks to serialize.
      >
      > I mention this because I know this was an area that you were involved with
      > a couple of weeks ago. I'm not sure whether my fix is correct and I would
      > like to discuss it.
      >
      > SoapSerializer::reset clears only the HeaderBlocks, leaving any attributes
      > or namespaces on the SoapHeader alone. I tried removing
      > SoapHeader::addAttribute and SoapHeader::addNamespaceDecl and Axis C++
      > built successfully. So no one sets attributes or namespaces on the
      > SoapHeader. So there is code here that is never executed.
      >
      > Are Attributes and Namespaces on SoapHeader redundant, or should the
      > methods to add them be externalised?
      > Mark
      > Mark Whitlock
      > IBM
      ---------------------------------------------------------------------------------------------------------

      I agree with Samisa that this function should be externalised since the SOAP Version 1,2 Part 1: Messaging Framework specification Section 5.2 SOAP Header says that the SOAP header has zero or more attributes. So we should support this if we are to support SOAP 1.2. SOAP 1.1 was less specific about whether the soap header can have attributes but it did not prohibit it.

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

            • Assignee:
              Unassigned
              Reporter:
              Mark Whitlock
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development