Axiom
  1. Axiom
  2. AXIOM-373

Generated namespace prefixes not properly used by some OMFactories

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.2.10
    • Fix Version/s: 1.2.13
    • Component/s: DOOM
    • Labels:
      None

      Description

      Given this code:
      OMDOMFactory factory = new OMDOMFactory();
      OMElement element = factory.createOMElement("name", "ns", null);

      I expected this output:
      <generatedNamespace:name xmlns:generatedNamespace="ns"/>

      This was the actual output:
      <name xmlns:generatedNamespace="ns" xmlns="ns"/>

      While the generated element is within the expected namespace, the output's use of a default namespace where none is necessary is a problem, particularly if you wish to use prefixed elements as frequently as possible. In fact, the generated prefix may never be used as long as the default is available.

      This problem can be ameliorated in two lines of counter-intuitive code:

      OMNamespace ns = element.findNamespace("ns", null);
      element.setNamespace(ns);

      After running those additional lines of code, the output will match the expectation, but that code is hard to justify.

      This bug was observed in: OMDOMFactory, DOMSOAPFactory, SOAP11Factory (dom), SOAP12Factory (dom).
      This bug does not occur in: OMLinkedListImplFactory, SOAP11Factory (llom), SOAP12Factory (llom).

        Activity

        James Grahn created issue -
        Andreas Veithen made changes -
        Field Original Value New Value
        Labels autogenerated namespaces
        Assignee Andreas Veithen [ veithen ]
        Fix Version/s 1.2.13 [ 12316677 ]
        Hide
        Hudson added a comment -

        Integrated in ws-axiom-trunk #446 (See https://builds.apache.org/job/ws-axiom-trunk/446/)
        AXIOM-373: Synchronized some code between the LLOM and DOOM implementations in order to fix some issues with generated prefixes.

        veithen :
        Files :

        • /webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java
        • /webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java
        • /webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java
        Show
        Hudson added a comment - Integrated in ws-axiom-trunk #446 (See https://builds.apache.org/job/ws-axiom-trunk/446/ ) AXIOM-373 : Synchronized some code between the LLOM and DOOM implementations in order to fix some issues with generated prefixes. veithen : Files : /webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java /webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java /webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java
        Andreas Veithen made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Hudson added a comment -

        Integrated in Axis2 #858 (See https://builds.apache.org/job/Axis2/858/)
        Fixed a couple of instances where SAAJ depends on incorrect behavior of DOOM, in particular AXIOM-373.

        veithen :
        Files :

        • /axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPFactoryImpl.java
        • /axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java
        Show
        Hudson added a comment - Integrated in Axis2 #858 (See https://builds.apache.org/job/Axis2/858/ ) Fixed a couple of instances where SAAJ depends on incorrect behavior of DOOM, in particular AXIOM-373 . veithen : Files : /axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPFactoryImpl.java /axis/axis2/java/core/trunk/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Resolved Resolved
        14h 43m 1 Andreas Veithen 21/Jul/11 14:13

          People

          • Assignee:
            Andreas Veithen
            Reporter:
            James Grahn
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development