[prev in list] [next in list] [prev in thread] [next in thread] 

List:       axis-cvs
Subject:    svn commit: r721059 - in /webservices/axis/trunk/c/src: common/ soap/
From:       nadiramra () apache ! org
Date:       2008-11-27 1:23:23
Message-ID: 20081127012324.51F0B23888A4 () eris ! apache ! org
[Download RAW message or body]

Author: nadiramra
Date: Wed Nov 26 17:23:23 2008
New Revision: 721059

URL: http://svn.apache.org/viewvc?rev=721059&view=rev
Log:
AXISCPP-458 - unwrapped support. Problem when simple type is input in unwrapped mode. \


Modified:
    webservices/axis/trunk/c/src/common/Param.h
    webservices/axis/trunk/c/src/soap/SoapMethod.cpp
    webservices/axis/trunk/c/src/soap/SoapMethod.h
    webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/literal/ClientStubWriter.java
  webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java
  webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java

Modified: webservices/axis/trunk/c/src/common/Param.h
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/common/Param.h?rev=721059&r1=721058&r2=721059&view=diff
 ==============================================================================
--- webservices/axis/trunk/c/src/common/Param.h (original)
+++ webservices/axis/trunk/c/src/common/Param.h Wed Nov 26 17:23:23 2008
@@ -69,6 +69,8 @@
     int setArrayElements(void* pObject, AXIS_DESERIALIZE_FUNCT pDZFunct, \
                AXIS_OBJECT_DELETE_FUNCT pDelFunct);
     int setUserType(void* pObject, AXIS_DESERIALIZE_FUNCT pDZFunct, \
AXIS_OBJECT_DELETE_FUNCT pDelFunct);  void setName(const AxisChar* sName);
+    
+    bool isSimpleType() { return (bool)(m_AnySimpleType != NULL); }
 };
 
 AXIS_CPP_NAMESPACE_END

Modified: webservices/axis/trunk/c/src/soap/SoapMethod.cpp
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/soap/SoapMethod.cpp?rev=721059&r1=721058&r2=721059&view=diff
 ==============================================================================
--- webservices/axis/trunk/c/src/soap/SoapMethod.cpp (original)
+++ webservices/axis/trunk/c/src/soap/SoapMethod.cpp Wed Nov 26 17:23:23 2008
@@ -97,7 +97,12 @@
 	logEntryEngine("SoapMethod::addOutputParam")
 
     if (param)
+    {
+    	if (m_OutputParams.empty() && param->isSimpleType())
+    		m_addEndTagForUnwrapped = true;
+    	
         m_OutputParams.push_back(param);
+    }
 	
 	logExit()
 }
@@ -123,9 +128,9 @@
             if(iStatus==AXIS_FAIL)
                 break;
             
-            // If not wrapper style, then end tag will be added by bean. 
+            // If not wrapper style, then end tag will be added by bean - if \
parameter is complex type.   // This is a hack in order to keep backward \
                compatibility.
-            if (m_isWrapperStyle)
+            if (m_isWrapperStyle || m_addEndTagForUnwrapped)
             	pSZ.serialize(">\n", NULL);
 
             // push the current NS to the NS stack
@@ -173,6 +178,7 @@
 
     int nStatus = AXIS_SUCCESS;
     
+
     for (list<Param*>::iterator it = m_OutputParams.begin(); it != \
m_OutputParams.end(); it++)  if (AXIS_SUCCESS != (nStatus = (*it)->serialize(pSZ)))
             break;
@@ -252,6 +258,7 @@
 {
 	logEntryEngine("SoapMethod::reset")
 
+    m_addEndTagForUnwrapped = false;
 	m_isWrapperStyle = true;
     m_strUri = "";
     m_strLocalname = "";

Modified: webservices/axis/trunk/c/src/soap/SoapMethod.h
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/soap/SoapMethod.h?rev=721059&r1=721058&r2=721059&view=diff
 ==============================================================================
--- webservices/axis/trunk/c/src/soap/SoapMethod.h (original)
+++ webservices/axis/trunk/c/src/soap/SoapMethod.h Wed Nov 26 17:23:23 2008
@@ -70,6 +70,7 @@
     AxisString m_strUri;
     list<Param*> m_OutputParams;
     bool m_isWrapperStyle;
+    bool m_addEndTagForUnwrapped;
 
 public:    
     int reset();

Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/literal/ClientStubWriter.java
                
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/ws \
dl/wsdl2ws/c/literal/ClientStubWriter.java?rev=721059&r1=721058&r2=721059&view=diff \
                ==============================================================================
                
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/literal/ClientStubWriter.java \
                (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/literal/ClientStubWriter.java \
Wed Nov 26 17:23:23 2008 @@ -442,7 +442,7 @@
                 else
                     c_writer.write("\t{\n"); // following was added to instantiate \
variables on the fly  
-                if (minfo.isUnwrapped())
+                if (minfo.isUnwrapped() && !type.isSimpleType() && \
!type.isPrimitiveType())  {
                     c_writer.write ("\t\tchar cPrefixAndParamName" + i + "[" + "] = \
\"\";\n");                      }                

Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java
                
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/ws \
dl/wsdl2ws/cpp/literal/ClientStubWriter.java?rev=721059&r1=721058&r2=721059&view=diff \
                ==============================================================================
                
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java \
                (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java \
Wed Nov 26 17:23:23 2008 @@ -446,7 +446,7 @@
                 }
                 
                 // If unwrapped, we pass in null string for qualified element name. 
-                if (minfo.isUnwrapped())
+                if (minfo.isUnwrapped() && !type.isSimpleType() && \
!type.isPrimitiveType())  {
                     c_writer.write (tab2 + "\t\tchar cPrefixAndParamName" + i + "[" \
+ "] = \"\";\n");                      }

Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java
                
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java?rev=721059&r1=721058&r2=721059&view=diff
 ==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java \
                (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java \
Wed Nov 26 17:23:23 2008 @@ -1471,7 +1471,7 @@
                 type.setIsUnwrappedInputType(true);
                 pinfo.setParamName(elementName, c_typeMap);
                 
-                if (!elementNames.hasNext() && type.isSimpleType())
+                if (!elementNames.hasNext() && (type.isSimpleType() || \
type.isPrimitiveType()))  pinfo.setElementName(element.getQName());
                 else
                     pinfo.setElementName(type.getName());


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic