axis-c-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nadira...@apache.org
Subject svn commit: r1509935 - in /axis/axis1/c/trunk/src: soap/SoapDeSerializer.cpp wsdl/org/apache/axis/wsdl/wsdl2ws/c/BeanParamWriter.java wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java
Date Sat, 03 Aug 2013 03:07:20 GMT
Author: nadiramra
Date: Sat Aug  3 03:07:18 2013
New Revision: 1509935

URL: http://svn.apache.org/r1509935
Log:
Fix problems extentions of simple types

Modified:
    axis/axis1/c/trunk/src/soap/SoapDeSerializer.cpp
    axis/axis1/c/trunk/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/BeanParamWriter.java
    axis/axis1/c/trunk/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java

Modified: axis/axis1/c/trunk/src/soap/SoapDeSerializer.cpp
URL: http://svn.apache.org/viewvc/axis/axis1/c/trunk/src/soap/SoapDeSerializer.cpp?rev=1509935&r1=1509934&r2=1509935&view=diff
==============================================================================
--- axis/axis1/c/trunk/src/soap/SoapDeSerializer.cpp (original)
+++ axis/axis1/c/trunk/src/soap/SoapDeSerializer.cpp Sat Aug  3 03:07:18 2013
@@ -1,3 +1,4 @@
+
 /*
  *   Copyright 2003-2004 The Apache Software Foundation.
 // (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved
@@ -1035,6 +1036,7 @@ getCmplxObject (void *pDZFunct, void *pC
             {
                 if (!m_doNotSkip)
                   skipNode();
+                m_doNotSkip = false;
             }
             else
             {

Modified: axis/axis1/c/trunk/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/BeanParamWriter.java
URL: http://svn.apache.org/viewvc/axis/axis1/c/trunk/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/BeanParamWriter.java?rev=1509935&r1=1509934&r2=1509935&view=diff
==============================================================================
--- axis/axis1/c/trunk/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/BeanParamWriter.java (original)
+++ axis/axis1/c/trunk/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/BeanParamWriter.java Sat Aug
 3 03:07:18 2013
@@ -748,11 +748,19 @@ public class BeanParamWriter extends Par
         //============================================================================= 
                         
         c_writer.write("\n");
         
-        CUtils.printBlockComment(c_writer, "Ensure no extraneous elements.");           

-        c_writer.write("\tpeekedElementName = axiscSoapDeSerializerPeekNextElementName(pDZ);\n");
-        c_writer.write("\tif (0x00 != *peekedElementName)\n");
-        c_writer.write("\t\taxiscAxisGenerateUnknownElementException(peekedElementName);\n");
-
+        // Due to partial support of extensions, we need to add this hack in not
+        // performing a peek - due to the fact that on empty elements the extension
+        // deserialization will consume the end element, and then the peek will 
+        // return next element causing it to mistakenly throw an exception.  
+        if (extensionBaseAttrib == null
+                || extensionBaseAttrib.getTypeName() == null)
+        {
+            CUtils.printBlockComment(c_writer, "Ensure no extraneous elements.");       
    
+            c_writer.write("\tpeekedElementName = axiscSoapDeSerializerPeekNextElementName(pDZ);\n");
+            c_writer.write("\tif (0x00 != *peekedElementName)\n");
+            c_writer.write("\t\taxiscAxisGenerateUnknownElementException(peekedElementName);\n");
+        }
+        
         c_writer.write("\n");
         c_writer.write("\treturn axiscSoapDeSerializerGetStatus(pDZ);\n");
         c_writer.write("}\n");

Modified: axis/axis1/c/trunk/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java
URL: http://svn.apache.org/viewvc/axis/axis1/c/trunk/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java?rev=1509935&r1=1509934&r2=1509935&view=diff
==============================================================================
--- axis/axis1/c/trunk/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java (original)
+++ axis/axis1/c/trunk/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java Sat
Aug  3 03:07:18 2013
@@ -976,10 +976,18 @@ public class BeanParamWriter extends Par
         //============================================================================= 
                         
         c_writer.write("\n");
         
-        CUtils.printBlockComment(c_writer, "Ensure no extraneous elements.");           

-        c_writer.write("\tpeekedElementName = pIWSDZ->peekNextElementName();\n");
-        c_writer.write("\tif (0x00 != *peekedElementName)\n");
-        c_writer.write("\t\tthrow UnknownElementException(peekedElementName);\n");
+        // Due to partial support of extensions, we need to add this hack in not
+        // performing a peek - due to the fact that on empty elements the extension
+        // deserialization will consume the end element, and then the peek will 
+        // return next element causing it to mistakenly throw an exception.  
+        if (extensionBaseAttrib == null
+                || extensionBaseAttrib.getTypeName() == null)
+        {
+            CUtils.printBlockComment(c_writer, "Ensure no extraneous elements.");       
    
+            c_writer.write("\tpeekedElementName = pIWSDZ->peekNextElementName();\n");
+            c_writer.write("\tif (0x00 != *peekedElementName)\n");
+            c_writer.write("\t\tthrow UnknownElementException(peekedElementName);\n");
+        }
         
         c_writer.write("\n");
         c_writer.write("\treturn pIWSDZ->getStatus();\n");



Mime
View raw message