Author: chinthaka
Date: Wed Apr  5 05:32:27 2006
New Revision: 391602

URL: http://svn.apache.org/viewcvs?rev=391602&view=rev
Log:
Fixing wrong children order for SOAPEnvelope. This can only be done when 
SOAPEnvelope is built.


Modified:
    
webservices/commons/trunk/modules/axiom/src/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java
    
webservices/commons/trunk/modules/axiom/test/org/apache/axiom/soap/SOAPEnvelopeTest.java

Modified: 
webservices/commons/trunk/modules/axiom/src/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java
URL: 
http://svn.apache.org/viewcvs/webservices/commons/trunk/modules/axiom/src/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java?rev=391602&r1=391601&r2=391602&view=diff
==============================================================================
--- 
webservices/commons/trunk/modules/axiom/src/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java
 (original)
+++ 
webservices/commons/trunk/modules/axiom/src/org/apache/axiom/soap/impl/llom/SOAPEnvelopeImpl.java
 Wed Apr  5 05:32:27 2006
@@ -78,7 +78,7 @@
                         new QName(SOAPConstants.HEADER_LOCAL_NAME));
         if (builder == null && header == null) {
             inferFactory();
-            header = ((SOAPFactory)factory).createSOAPHeader(this);
+            header = ((SOAPFactory) factory).createSOAPHeader(this);
             addChild(header);
         }
         return header;
@@ -99,6 +99,13 @@
         {
             throw new SOAPProcessingException("SOAP Envelope can not have 
children other than SOAP Header and Body", SOAP12Constants.FAULT_CODE_SENDER);
         } else {
+            if (this.done && (child instanceof SOAPHeader)) {
+                SOAPBody body = getBody();
+                if (body != null) {
+                    body.insertSiblingBefore(child);
+                    return;
+                }
+            }
             super.addChild(child);
         }
     }

Modified: 
webservices/commons/trunk/modules/axiom/test/org/apache/axiom/soap/SOAPEnvelopeTest.java
URL: 
http://svn.apache.org/viewcvs/webservices/commons/trunk/modules/axiom/test/org/apache/axiom/soap/SOAPEnvelopeTest.java?rev=391602&r1=391601&r2=391602&view=diff
==============================================================================
--- 
webservices/commons/trunk/modules/axiom/test/org/apache/axiom/soap/SOAPEnvelopeTest.java
 (original)
+++ 
webservices/commons/trunk/modules/axiom/test/org/apache/axiom/soap/SOAPEnvelopeTest.java
 Wed Apr  5 05:32:27 2006
@@ -108,11 +108,12 @@
     public void testRandomSOAPHeader() {
         SOAPFactory soapFac = OMAbstractFactory.getSOAP12Factory();
         SOAPEnvelope defaultEnvelope = soapFac.getDefaultEnvelope();
+        defaultEnvelope.build();
         defaultEnvelope.getHeader().detach();
 
         soapFac.createSOAPHeader(defaultEnvelope);
 
-        System.out.println(defaultEnvelope.getHeader());
+        System.out.println(defaultEnvelope);
 
 //        System.out.println("defaultEnvelope = " + defaultEnvelope);
     }


Reply via email to