You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ch...@apache.org on 2005/03/07 09:27:04 UTC

svn commit: r156406 - in webservices/axis/trunk/java/modules: core/src/java/org/apache/axis/addressing/ core/src/java/org/apache/axis/addressing/om/ om/src/java/org/apache/axis/om/ om/src/java/org/apache/axis/om/impl/llom/ om/src/java/org/apache/axis/om/impl/llom/builder/ om/src/test/org/apache/axis/om/impl/serializer/

Author: chinthaka
Date: Mon Mar  7 00:26:59 2005
New Revision: 156406

URL: http://svn.apache.org/viewcvs?view=rev&rev=156406
Log:
Fixed the OM serialization bug with some changes to addressing

Modified:
    webservices/axis/trunk/java/modules/core/src/java/org/apache/axis/addressing/AddressingConstants.java
    webservices/axis/trunk/java/modules/core/src/java/org/apache/axis/addressing/om/MessageInformationHeadersCollection.java
    webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/OMElement.java
    webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/impl/llom/OMElementImpl.java
    webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/impl/llom/builder/StAXSOAPModelBuilder.java
    webservices/axis/trunk/java/modules/om/src/test/org/apache/axis/om/impl/serializer/NoNamespaceSerializerTest.java

Modified: webservices/axis/trunk/java/modules/core/src/java/org/apache/axis/addressing/AddressingConstants.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/java/org/apache/axis/addressing/AddressingConstants.java?view=diff&r1=156405&r2=156406
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/java/org/apache/axis/addressing/AddressingConstants.java (original)
+++ webservices/axis/trunk/java/modules/core/src/java/org/apache/axis/addressing/AddressingConstants.java Mon Mar  7 00:26:59 2005
@@ -62,4 +62,10 @@
      * Field WSA_FAULT_TO
      */
     public static final String WSA_FAULT_TO = "FaultTo";
+
+    public static final String EPR_ADDRESS = "Address";
+    public static final String EPR_REFERENCE_PROPERTIES = "ReferenceProperties";
+    public static final String EPR_REFERENCE_PARAMETERS = "ReferenceParameters";
+    public static final String EPR_PORT_TYPE = "PortType";
+    public static final String EPR_SERVICE_NAME = "ServiceName";
 }

Modified: webservices/axis/trunk/java/modules/core/src/java/org/apache/axis/addressing/om/MessageInformationHeadersCollection.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/java/org/apache/axis/addressing/om/MessageInformationHeadersCollection.java?view=diff&r1=156405&r2=156406
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/java/org/apache/axis/addressing/om/MessageInformationHeadersCollection.java (original)
+++ webservices/axis/trunk/java/modules/core/src/java/org/apache/axis/addressing/om/MessageInformationHeadersCollection.java Mon Mar  7 00:26:59 2005
@@ -15,6 +15,7 @@
  */
 package org.apache.axis.addressing.om;
 
+import org.apache.axis.addressing.AddressingConstants;
 import org.apache.axis.addressing.EndpointReference;
 import org.apache.axis.addressing.miheaders.RelatesTo;
 import org.apache.axis.om.SOAPHeader;
@@ -45,7 +46,7 @@
     private EndpointReference replyTo;
 
     /**
-     *  identifies the intended receiver for faults related to the message
+     * identifies the intended receiver for faults related to the message
      */
     private EndpointReference faultTo;
 
@@ -60,7 +61,6 @@
     private String messageId;
 
 
-
     /**
      * Addressing Header MUST have a to and an action
      *
@@ -91,6 +91,9 @@
      * @return
      */
     public EndpointReference getTo() {
+        if (to == null) {
+            to = new EndpointReference(AddressingConstants.WSA_TO, "");
+        }
         return to;
     }
 
@@ -109,6 +112,9 @@
      * @return
      */
     public EndpointReference getFrom() {
+        if (from == null) {
+            from = new EndpointReference(AddressingConstants.WSA_FROM, "");
+        }
         return from;
     }
 
@@ -127,6 +133,9 @@
      * @return
      */
     public EndpointReference getReplyTo() {
+        if (replyTo == null) {
+            replyTo = new EndpointReference(AddressingConstants.WSA_REPLY_TO, "");
+        }
         return replyTo;
     }
 
@@ -145,6 +154,9 @@
      * @return
      */
     public EndpointReference getFaultTo() {
+        if (faultTo == null) {
+            faultTo = new EndpointReference(AddressingConstants.WSA_FAULT_TO, "");
+        }
         return faultTo;
     }
 
@@ -199,6 +211,9 @@
      * @return
      */
     public RelatesTo getRelatesTo() {
+        if (relatesTo == null) {
+            relatesTo = new RelatesTo("");
+        }
         return relatesTo;
     }
 
@@ -208,6 +223,7 @@
      * @param relatesTo
      */
     public void setRelatesTo(RelatesTo relatesTo) {
+
         this.relatesTo = relatesTo;
     }
 

Modified: webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/OMElement.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/OMElement.java?view=diff&r1=156405&r2=156406
==============================================================================
--- webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/OMElement.java (original)
+++ webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/OMElement.java Mon Mar  7 00:26:59 2005
@@ -34,7 +34,10 @@
     /**
      * This will search for children with a given QName and will return an iterator to traverse through
      * the OMNodes.
-     * This QName can contain any combination of prefix, localname and URI
+     * This will match localName and namespaceURI only. localName only or namespaceURI only can also be given. But
+     * the other parameter should be set to null
+     * Example : If you want to get all the addressing headers, header.getChildrenWithName(new QName(AddressingNamespace, null))
+     * will do.
      *
      * @param elementQName
      * @return
@@ -197,4 +200,10 @@
      * @return
      */
     public XMLStreamReader getPullParser(boolean cacheOff);
+
+    /**
+     * This will return the non-empty text children as a String
+     * @return
+     */
+    public String getText();
 }

Modified: webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/impl/llom/OMElementImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/impl/llom/OMElementImpl.java?view=diff&r1=156405&r2=156406
==============================================================================
--- webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/impl/llom/OMElementImpl.java (original)
+++ webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/impl/llom/OMElementImpl.java Mon Mar  7 00:26:59 2005
@@ -556,6 +556,21 @@
         return new OMStAXWrapper(builder, this, cacheOff);
     }
 
+    public String getText() {
+        String childText = "";
+        OMNode child = this.getFirstChild();
+        while(child != null){
+            String value = child.getValue();
+            System.out.println("value.length() = " + value.length());
+            if(child.getType() == OMNode.TEXT_NODE && value != null && !"".equals(value.trim())){
+               childText += value.trim();
+            }
+            child = child.getNextSibling();
+        }
+
+        return childText;
+    }
+
     /**
      * Method serialize
      *

Modified: webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/impl/llom/builder/StAXSOAPModelBuilder.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/impl/llom/builder/StAXSOAPModelBuilder.java?view=diff&r1=156405&r2=156406
==============================================================================
--- webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/impl/llom/builder/StAXSOAPModelBuilder.java (original)
+++ webservices/axis/trunk/java/modules/om/src/java/org/apache/axis/om/impl/llom/builder/StAXSOAPModelBuilder.java Mon Mar  7 00:26:59 2005
@@ -201,7 +201,7 @@
         } else {
 
             // this is neither of above. Just create an element
-            element = ombuilderFactory.createOMElement(elementName, null,
+            element = ombuilderFactory.createOMElement(elementName, parent.getNamespace(),
                     parent, this);
             processNamespaceData(element, false);
         }
@@ -282,21 +282,24 @@
         }
 
         // set the own namespace
+        String namespaceURI = parser.getNamespaceURI();
+        if(namespaceURI != ""){
         OMNamespace namespace =
                 node.findInScopeNamespace(parser.getNamespaceURI(),
                 parser.getPrefix());
-
+            node.setNamespace(namespace);
+        }
         // TODO we got to have this to make sure OM reject mesagess that are not sname space qualified
         // But got to comment this to interop with Axis.1.x
         // if (namespace == null) {
         // throw new OMException("All elements must be namespace qualified!");
         // }
         if (isSOAPElement) {
-            if (!namespace.getName().equals(
+            if (!node.getNamespace().getName().equals(
                     OMConstants.SOAP_ENVELOPE_NAMESPACE_URI)) {
                 throw new OMBuilderException("invalid SOAP namespace URI");
             }
         }
-        node.setNamespace(namespace);
+
     }
 }

Modified: webservices/axis/trunk/java/modules/om/src/test/org/apache/axis/om/impl/serializer/NoNamespaceSerializerTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/om/src/test/org/apache/axis/om/impl/serializer/NoNamespaceSerializerTest.java?view=diff&r1=156405&r2=156406
==============================================================================
--- webservices/axis/trunk/java/modules/om/src/test/org/apache/axis/om/impl/serializer/NoNamespaceSerializerTest.java (original)
+++ webservices/axis/trunk/java/modules/om/src/test/org/apache/axis/om/impl/serializer/NoNamespaceSerializerTest.java Mon Mar  7 00:26:59 2005
@@ -58,10 +58,20 @@
         builder = OMXMLBuilderFactory.createStAXSOAPModelBuilder(OMFactory.newInstance(), reader);
     }
 
-    public void testSerilization() throws Exception{
+    public void testSerilizationWithCacheOff() throws Exception{
        SOAPEnvelope env = (SOAPEnvelope) builder.getDocumentElement();
        env.serialize(writer,false);
        writer.flush();
+
+
+    }
+
+    public void testSerilizationWithCacheOn() throws Exception{
+       SOAPEnvelope env = (SOAPEnvelope) builder.getDocumentElement();
+       env.serialize(writer,true);
+       writer.flush();
+
+
     }