You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by na...@apache.org on 2006/12/27 05:59:46 UTC

svn commit: r490441 - in /webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws: c/BeanParamWriter.java cpp/BeanParamWriter.java

Author: nadiramra
Date: Tue Dec 26 20:59:46 2006
New Revision: 490441

URL: http://svn.apache.org/viewvc?view=rev&rev=490441
Log:
AXISCPP-972 - getChardataAs problems.

Modified:
    webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/BeanParamWriter.java
    webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java

Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/BeanParamWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/BeanParamWriter.java?view=diff&rev=490441&r1=490440&r2=490441
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/BeanParamWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/BeanParamWriter.java Tue Dec 26 20:59:46 2006
@@ -469,9 +469,19 @@
         {
             if (extensionBaseAttrib != null)
             {
-                writer.write("\taxiscSoapDeSerializerGetChardataAs(pDZ, (void **)&(param->"
-                        + extensionBaseAttrib.getParamNameAsMember() + "), "
-                        + CUtils.getXSDTypeForBasicType(extensionBaseAttrib.getTypeName()) + ");\n");
+                writer.write("\tvoid* pCharDataAs;\n\n");
+                String typeName = extensionBaseAttrib.getTypeName();
+                String xsdType = CUtils.getXSDTypeForBasicType(typeName);
+                writer.write("\taxiscSoapDeSerializerGetChardataAs(pDZ, &pCharDataAs, " + xsdType + ");\n");
+                writer.write("\tparam->" + extensionBaseAttrib.getParamNameAsMember() + " = ");
+                
+                if (CUtils.isPointerType(typeName))
+                    writer.write("(" + typeName + ") pCharDataAs;\n");
+                else
+                {
+                    writer.write(" *(" + typeName + "*) pCharDataAs;\n");
+                    writer.write("\taxiscAxisDelete(pCharDataAs, " + xsdType + ");\n");
+                }                
             }
             else
             {
@@ -776,9 +786,21 @@
         if (extensionBaseAttrib != null
                 && extensionBaseAttrib.getTypeName() != null)
         {
-            writer.write("\taxiscSoapDeSerializerGetChardataAs(pDZ, (void **)&(param->"
-                    + extensionBaseAttrib.getParamNameAsMember() + "), "
-                    + CUtils.getXSDTypeForBasicType(extensionBaseAttrib.getTypeName()) + ");\n");
+            writer.write("\t{\n"); // ==== begin scope
+            writer.write("\tvoid* pCharDataAs;\n");
+            String typeName = extensionBaseAttrib.getTypeName();
+            String xsdType = CUtils.getXSDTypeForBasicType(typeName);
+            writer.write("\taxiscSoapDeSerializerGetChardataAs(pDZ, &pCharDataAs, " + xsdType + ");\n");
+            writer.write("\tparam->" + extensionBaseAttrib.getParamNameAsMember() + " = ");
+            
+            if (CUtils.isPointerType(typeName))
+                writer.write("(" + typeName + ") pCharDataAs;\n");
+            else
+            {
+                writer.write(" *(" + typeName + "*) pCharDataAs;\n");
+                writer.write("\taxiscAxisDelete(pCharDataAs, " + xsdType + ");\n");
+            }    
+            writer.write("\t}\n"); // ==== end scope
         }
         
         writer.write("\t/* Return deserialization status */\n");

Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java?view=diff&rev=490441&r1=490440&r2=490441
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java Tue Dec 26 20:59:46 2006
@@ -753,9 +753,19 @@
         {
             if (extensionBaseAttrib != null)
             {
-                writer.write("\tpIWSDZ->getChardataAs((void **)&(param->"
-                        + extensionBaseAttrib.getParamNameAsMember() + "), "
-                        + CUtils.getXSDTypeForBasicType(extensionBaseAttrib.getTypeName()) + ");\n");
+                writer.write("\tvoid* pCharDataAs;\n\n");
+                String typeName = extensionBaseAttrib.getTypeName();
+                String xsdType = CUtils.getXSDTypeForBasicType(typeName);
+                writer.write("\tpIWSDZ->getChardataAs(&pCharDataAs, " + xsdType + ");\n");
+                writer.write("\tparam->" + extensionBaseAttrib.getParamNameAsMember() + " = ");
+                
+                if (CUtils.isPointerType(typeName))
+                    writer.write("(" + typeName + ") pCharDataAs;\n");
+                else
+                {
+                    writer.write(" *(" + typeName + "*) pCharDataAs;\n");
+                    writer.write("\tAxis::AxisDelete( pCharDataAs, " + xsdType + ");\n");
+                }
             }
             else
             {
@@ -1018,9 +1028,19 @@
         if (extensionBaseAttrib != null
                 && extensionBaseAttrib.getTypeName() != null)
         {
-            writer.write("\tpIWSDZ->getChardataAs((void **)&(param->"
-                    + extensionBaseAttrib.getParamNameAsMember() + "), "
-                    + CUtils.getXSDTypeForBasicType(extensionBaseAttrib.getTypeName()) + ");\n");
+            writer.write("\tvoid* pCharDataAs;\n");
+            String typeName = extensionBaseAttrib.getTypeName();
+            String xsdType = CUtils.getXSDTypeForBasicType(typeName);
+            writer.write("\tpIWSDZ->getChardataAs(&pCharDataAs, " + xsdType + ");\n");
+            writer.write("\tparam->" + extensionBaseAttrib.getParamNameAsMember() + " = ");
+            
+            if (CUtils.isPointerType(typeName))
+                writer.write("(" + typeName + ") pCharDataAs;\n");
+            else
+            {
+                writer.write(" *(" + typeName + "*) pCharDataAs;\n");
+                writer.write("\tAxis::AxisDelete( pCharDataAs, " + xsdType + ");\n");
+            }            
         }
 
         writer.write("\treturn pIWSDZ->getStatus();\n");



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org