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 na...@apache.org on 2008/12/11 19:36:56 UTC

svn commit: r725769 - in /webservices/axis/trunk/c: src/engine/client/ src/soap/ src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/literal/ src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/ tests/auto_build/testcases/...

Author: nadiramra
Date: Thu Dec 11 10:36:56 2008
New Revision: 725769

URL: http://svn.apache.org/viewvc?rev=725769&view=rev
Log:
AXISCPP-458 - unwrapped support. Test cases and fixes to problems encountered

Added:
    webservices/axis/trunk/c/tests/auto_build/testcases/client/c/DocLitNonwrapperTestsClient.c
    webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/DocLitNonwrapperTestsClient.cpp
    webservices/axis/trunk/c/tests/auto_build/testcases/output/DocLitNonwrapperTests.cpp.out
    webservices/axis/trunk/c/tests/auto_build/testcases/output/DocLitNonwrapperTests_ClientRequest.expected
    webservices/axis/trunk/c/tests/auto_build/testcases/output/DocLitNonwrapperTests_ServerResponse.expected
    webservices/axis/trunk/c/tests/auto_build/testcases/tests/DocLitNonwrapperTests.xml
    webservices/axis/trunk/c/tests/auto_build/testcases/tests/DocLitNonwrapperTestsC.xml
    webservices/axis/trunk/c/tests/auto_build/testcases/unitTestCandCPP.list
    webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/DocLitNonwrapperTests.wsdl
Modified:
    webservices/axis/trunk/c/src/engine/client/Call.cpp
    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
    webservices/axis/trunk/c/tests/auto_build/testcases/unitTest.list

Modified: webservices/axis/trunk/c/src/engine/client/Call.cpp
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/engine/client/Call.cpp?rev=725769&r1=725768&r2=725769&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/engine/client/Call.cpp (original)
+++ webservices/axis/trunk/c/src/engine/client/Call.cpp Thu Dec 11 10:36:56 2008
@@ -171,6 +171,14 @@
     SoapMethod* sm = getSOAPSerializer()->getSOAPMethod();
     sm->setWrapperStyle(bIsWrapperStyle); 
     
+    if (!bIsWrapperStyle)
+    {
+        // TODO why can we not do this for wrapper-style also? For wrapper, we add namespace
+        //      definition to wrapper element, but why not to envelope? Investigate.
+        m_pIWSSZ->addNamespaceToEnvelope((AxisChar * )pchNamespace, 
+                                         (AxisChar * )m_pIWSSZ->getNamespacePrefix(pchNamespace));
+    }
+    
     logExit()
 }
 

Modified: webservices/axis/trunk/c/src/soap/SoapMethod.cpp
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/soap/SoapMethod.cpp?rev=725769&r1=725768&r2=725769&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/soap/SoapMethod.cpp (original)
+++ webservices/axis/trunk/c/src/soap/SoapMethod.cpp Thu Dec 11 10:36:56 2008
@@ -34,83 +34,78 @@
 SoapMethod::
 SoapMethod()
 {
-	logEntryEngine("SoapMethod::SoapMethod")
+    logEntryEngine("SoapMethod::SoapMethod")
 
-	reset();
-	
-	logExit()
+    reset();
+    
+    logExit()
 }
 
 SoapMethod::
 ~SoapMethod()
 {
-	logEntryEngine("SoapMethod::~SoapMethod")
+    logEntryEngine("SoapMethod::~SoapMethod")
 
     clearAttributes();
     clearOutParams();
     
-	logExit()
+    logExit()
 }
 
 void SoapMethod::
 setPrefix(const AxisChar* prefix)
 {
-	logEntryEngine("SoapMethod::setPrefix")
+    logEntryEngine("SoapMethod::setPrefix")
 
-	if (NULL == prefix)
-		m_strPrefix = "";
-	else
-		m_strPrefix = prefix;
-	
-	logExit()
+    if (NULL == prefix)
+        m_strPrefix = "";
+    else
+        m_strPrefix = prefix;
+    
+    logExit()
 }
 
 void SoapMethod::
 setLocalName(const AxisChar* localname)
 {
-	logEntryEngine("SoapMethod::setLocalName")
+    logEntryEngine("SoapMethod::setLocalName")
 
-	if (NULL == localname)
-		m_strLocalname = "";
-	else
-		m_strLocalname = localname;
-	
-	logExit()
+    if (NULL == localname)
+        m_strLocalname = "";
+    else
+        m_strLocalname = localname;
+    
+    logExit()
 }
 
 void SoapMethod::
 setURI(const AxisChar* uri)
 {
-	logEntryEngine("SoapMethod::setURI")
+    logEntryEngine("SoapMethod::setURI")
 
-	if (NULL == uri)
-		m_strUri = "";
-	else
-		m_strUri = uri;
-	
-	logExit()
+    if (NULL == uri)
+        m_strUri = "";
+    else
+        m_strUri = uri;
+    
+    logExit()
 }
 
 void SoapMethod::
 addOutputParam(Param *param)
 {
-	logEntryEngine("SoapMethod::addOutputParam")
+    logEntryEngine("SoapMethod::addOutputParam")
 
     if (param)
-    {
-    	if (m_OutputParams.empty() && param->isSimpleType())
-    		m_addEndTagForUnwrapped = true;
-    	
         m_OutputParams.push_back(param);
-    }
-	
-	logExit()
+    
+    logExit()
 }
 
 int SoapMethod::
 serialize(SoapSerializer& pSZ)
 {   
-	logEntryEngine("SoapMethod::serialize")
+    logEntryEngine("SoapMethod::serialize")
 
     int iStatus= AXIS_SUCCESS;
 
@@ -118,55 +113,83 @@
     {
         if(isSerializable())
         {           
-            pSZ.serialize("<", m_strPrefix.c_str(), ":", m_strLocalname.c_str(),
-                " xmlns:", m_strPrefix.c_str(),
-                "=\"", m_strUri.c_str(), "\"", NULL);
-
-            list<AxisChar*> lstTmpNameSpaceStack;
-
-            iStatus= serializeAttributes(pSZ, lstTmpNameSpaceStack);
-            if(iStatus==AXIS_FAIL)
-                break;
-            
-            // 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 || m_addEndTagForUnwrapped)
-            	pSZ.serialize(">\n", NULL);
-
-            // push the current NS to the NS stack
-            pSZ.getNamespacePrefix(m_strUri.c_str());
-
-            iStatus= serializeOutputParam(pSZ);
-
-            // remove the current NS from the NS stack
-            pSZ.removeNamespacePrefix(m_strUri.c_str());
-
-            if(iStatus==AXIS_FAIL)
-                break;
-            
-            pSZ.serialize("</", NULL);
-
-            if(m_strPrefix.length() != 0)
-                pSZ.serialize(m_strPrefix.c_str(), ":", NULL);
-            
-            pSZ.serialize(m_strLocalname.c_str(), ">\n", NULL);
-
-            // Removing the namespace list of this SOAPMethod from the stack.
-            list<AxisChar*>::iterator itCurrentNamespace = lstTmpNameSpaceStack.begin();
-            while (itCurrentNamespace != lstTmpNameSpaceStack.end())
+            if (m_isWrapperStyle)
             {
-                pSZ.removeNamespacePrefix(*itCurrentNamespace);
-                itCurrentNamespace++;
+                pSZ.serialize("<", m_strPrefix.c_str(), ":", m_strLocalname.c_str(),
+                    " xmlns:", m_strPrefix.c_str(),
+                    "=\"", m_strUri.c_str(), "\"", NULL);
+    
+                list<AxisChar*> lstTmpNameSpaceStack;
+    
+                iStatus= serializeAttributes(pSZ, lstTmpNameSpaceStack);
+                if(iStatus==AXIS_FAIL)
+                    break;
+                
+                pSZ.serialize(">\n", NULL);
+    
+                // push the current NS to the NS stack
+                pSZ.getNamespacePrefix(m_strUri.c_str());
+    
+                iStatus= serializeOutputParam(pSZ);
+    
+                // remove the current NS from the NS stack
+                pSZ.removeNamespacePrefix(m_strUri.c_str());
+    
+                if(iStatus==AXIS_FAIL)
+                    break;
+                
+                pSZ.serialize("</", NULL);
+    
+                if(m_strPrefix.length() != 0)
+                    pSZ.serialize(m_strPrefix.c_str(), ":", NULL);
+                
+                pSZ.serialize(m_strLocalname.c_str(), ">\n", NULL);
+    
+                // Removing the namespace list of this SOAPMethod from the stack.
+                list<AxisChar*>::iterator itCurrentNamespace = lstTmpNameSpaceStack.begin();
+                while (itCurrentNamespace != lstTmpNameSpaceStack.end())
+                {
+                    pSZ.removeNamespacePrefix(*itCurrentNamespace);
+                    itCurrentNamespace++;
+                }
+    
+                iStatus= AXIS_SUCCESS;
+            }
+            else
+            {
+            	// We are doing non-wrapper style.  The call to Call::setOperation resulted in 
+            	// initial namespace being added to the envelope.  So we do not have to define
+            	// initial namespace, although we need to define it to the serializer so that
+            	// subsequent namespaces are indexed correctly.
+            	
+            	if (!m_OutputParams.empty())
+            	{
+            		// Serialize parameters....
+            		
+	                // push the current NS to the NS stack
+	                pSZ.getNamespacePrefix(m_strUri.c_str());
+	                
+	                iStatus= serializeOutputParam(pSZ);
+	                
+	                // remove the current NS from the NS stack
+	                pSZ.removeNamespacePrefix(m_strUri.c_str());
+	                
+	                if(iStatus==AXIS_FAIL)
+	                    break;
+            	}
+            	else if (!m_strLocalname.empty())
+            	{
+            		// Serialize an empty element request.
+                    pSZ.serialize("<", m_strPrefix.c_str(), ":", m_strLocalname.c_str(), "/>", NULL);
+            	}
             }
-
-            iStatus= AXIS_SUCCESS;
         }
         else
             iStatus= AXIS_FAIL;
     } 
     while(0);
             
-	logExitWithReturnCode(iStatus)
+    logExitWithReturnCode(iStatus)
 
     return iStatus;
 }
@@ -174,7 +197,7 @@
 int SoapMethod::
 serializeOutputParam(SoapSerializer& pSZ)
 {
-	logEntryEngine("SoapMethod::serializeOutputParam")
+    logEntryEngine("SoapMethod::serializeOutputParam")
 
     int nStatus = AXIS_SUCCESS;
     
@@ -183,7 +206,7 @@
         if (AXIS_SUCCESS != (nStatus = (*it)->serialize(pSZ)))
             break;
 
-	logExitWithReturnCode(nStatus)
+    logExitWithReturnCode(nStatus)
 
     return nStatus;
 }
@@ -197,7 +220,7 @@
 bool SoapMethod::
 isSerializable()
 {
-	logEntryEngine("SoapMethod::isSerializable")
+    logEntryEngine("SoapMethod::isSerializable")
 
     bool bStatus= true;    
 
@@ -225,12 +248,12 @@
 int SoapMethod::
 addAttribute(Attribute *pAttribute)
 {
-	logEntryEngine("SoapMethod::addAttribute")
+    logEntryEngine("SoapMethod::addAttribute")
 
-	if (pAttribute)
-		m_attributes.push_back(pAttribute);
+    if (pAttribute)
+        m_attributes.push_back(pAttribute);
 
-	logExitWithReturnCode(AXIS_SUCCESS)
+    logExitWithReturnCode(AXIS_SUCCESS)
 
     return AXIS_SUCCESS;
 }
@@ -238,7 +261,7 @@
 int SoapMethod::
 serializeAttributes(SoapSerializer& pSZ, list<AxisChar*>& lstTmpNameSpaceStack)
 {
-	logEntryEngine("SoapMethod::serializeAttributes")
+    logEntryEngine("SoapMethod::serializeAttributes")
 
     list<Attribute*>::iterator itCurrAttribute= m_attributes.begin();
 
@@ -248,7 +271,7 @@
         itCurrAttribute++;        
     }    
 
-	logExitWithReturnCode(AXIS_SUCCESS)
+    logExitWithReturnCode(AXIS_SUCCESS)
 
     return AXIS_SUCCESS;    
 }
@@ -256,17 +279,17 @@
 int SoapMethod::
 reset()
 {
-	logEntryEngine("SoapMethod::reset")
+    logEntryEngine("SoapMethod::reset")
 
-    m_addEndTagForUnwrapped = false;
-	m_isWrapperStyle = true;
+    m_isWrapperStyle = true;
     m_strUri = "";
     m_strLocalname = "";
     m_strPrefix = "";
-    m_OutputParams.clear();
-    m_attributes.clear();
+    
+    clearOutParams();
+    clearAttributes();
 
-	logExitWithReturnCode(AXIS_SUCCESS)
+    logExitWithReturnCode(AXIS_SUCCESS)
 
     return AXIS_SUCCESS;
 }
@@ -274,16 +297,16 @@
 void SoapMethod::
 clearOutParams()
 {
-	logEntryEngine("SoapMethod::clearOutParams")
+    logEntryEngine("SoapMethod::clearOutParams")
 
     if ( !m_OutputParams.empty() )
     {
-	    list<Param*>::iterator itParam;
-	    
-	    for (itParam = m_OutputParams.begin(); itParam != m_OutputParams.end(); itParam++)
-	        delete *itParam;
-	        
-	    m_OutputParams.clear();
+        list<Param*>::iterator itParam;
+        
+        for (itParam = m_OutputParams.begin(); itParam != m_OutputParams.end(); itParam++)
+            delete *itParam;
+            
+        m_OutputParams.clear();
     }
     
     logExit()
@@ -292,16 +315,16 @@
 void SoapMethod::
 clearAttributes()
 {
-	logEntryEngine("SoapMethod::clearAttributes")
+    logEntryEngine("SoapMethod::clearAttributes")
 
     if (!m_attributes.empty())
     {
-	    list<Attribute*>::iterator it;
-	    
-	    for (it = m_attributes.begin(); it != m_attributes.end(); ++it)
-	        delete *it;
-	    
-	    m_attributes.clear();
+        list<Attribute*>::iterator it;
+        
+        for (it = m_attributes.begin(); it != m_attributes.end(); ++it)
+            delete *it;
+        
+        m_attributes.clear();
     }
     
     logExit()

Modified: webservices/axis/trunk/c/src/soap/SoapMethod.h
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/soap/SoapMethod.h?rev=725769&r1=725768&r2=725769&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/soap/SoapMethod.h (original)
+++ webservices/axis/trunk/c/src/soap/SoapMethod.h Thu Dec 11 10:36:56 2008
@@ -70,7 +70,6 @@
     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/wsdl/wsdl2ws/c/literal/ClientStubWriter.java?rev=725769&r1=725768&r2=725769&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 Thu Dec 11 10:36:56 2008
@@ -366,13 +366,24 @@
             namespaceURI = "";
 
         // Need to give indication to serializer whether wrapped or unwrapped style is being done.
-        // Note that the only time we override this if there are no input parameters.
-        if (minfo.isUnwrapped() && paramsB.size () > 0)
-            c_writer.write("\taxiscCallSetOperationUnwrapped(call, \"");
+        // And for non-wrapper style, the "operation" is not the method name, but the element name
+        // of the root node. 
+        
+        if (minfo.isUnwrapped())
+        {
+            String actualMethodName = "";
+
+            if( minfo.getInputMessage() != null)
+                actualMethodName = minfo.getInputMessage().getLocalPart();
+            
+            c_writer.write("\taxiscCallSetOperationUnwrapped(call, \"" +
+                           actualMethodName + "\", \"" + namespaceURI + "\");\n");
+        }
         else
-            c_writer.write("\taxiscCallSetOperation(call, \"");
-        c_writer.write( minfo.getMethodname() + "\", \""
-            + namespaceURI + "\");\n");
+        {
+            c_writer.write("\taxiscCallSetOperation(call, \"" +
+                            minfo.getMethodname() + "\", \"" + namespaceURI + "\");\n");
+        }
         
         //=============================================================================
         // Apply user specified properties
@@ -442,11 +453,7 @@
                 else
                     c_writer.write("\t{\n"); // following was added to instantiate variables on the fly
                 
-                if (minfo.isUnwrapped() && !type.isSimpleType() && !type.isPrimitiveType())
-                {
-                    c_writer.write ("\t\tchar cPrefixAndParamName" + i + "[" + "] = \"\";\n");                    
-                }                
-                else if (namespace.length () == 0)
+                if (namespace.length () == 0)
                 {
                     c_writer.write ("\t\tchar cPrefixAndParamName"
                               + i + "[" + "] = \"" + parameterName + "\";\n");
@@ -797,7 +804,7 @@
         else if (returntype == null)
         {
             if (minfo.getOutputMessage () != null)
-                c_writer.write ("\t\t\t// no output?\n\t\t}\n");
+                c_writer.write ("\t\t\t// no output to process\n\t\t}\n");
         }
         else if (returntype.isAnyElement ())
         {

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/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java?rev=725769&r1=725768&r2=725769&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 Thu Dec 11 10:36:56 2008
@@ -367,13 +367,23 @@
             namespaceURI = "";
 
         // Need to give indication to serializer whether wrapped or unwrapped style is being done.
-        // Note that the only time we override this if there are no input parameters.
-        String iswrapperstyle = "true";
-        if (minfo.isUnwrapped() && paramsB.size () > 0)
-            iswrapperstyle = "false";
+        // And for non-wrapper style, the "operation" is not the method name, but the element name
+        // of the root node. 
+        String iswrapperstyle   = "true";
+        String actualMethodName = minfo.getMethodname();
+        
+        if (minfo.isUnwrapped())
+        {
+            iswrapperstyle   = "false";
+            
+            if( minfo.getInputMessage() != null)
+                actualMethodName = minfo.getInputMessage().getLocalPart();
+            else
+                actualMethodName = "";
+        }
         
          c_writer.write( "\t\tm_pCall->setOperation(\""
-                + minfo.getMethodname() + "\", \""
+                + actualMethodName + "\", \""
                 + namespaceURI + "\", " + iswrapperstyle + ");\n");
             
         //=============================================================================
@@ -446,11 +456,7 @@
                 }
                 
                 // If unwrapped, we pass in null string for qualified element name. 
-                if (minfo.isUnwrapped() && !type.isSimpleType() && !type.isPrimitiveType())
-                {
-                    c_writer.write (tab2 + "\t\tchar cPrefixAndParamName" + i + "[" + "] = \"\";\n");                    
-                }
-                else if (namespace.length () == 0)
+                if (namespace.length () == 0)
                 {
                     c_writer.write (tab2 + "\t\tchar cPrefixAndParamName"
                               + i + "[" + "] = \"" + parameterName + "\";\n");
@@ -789,7 +795,7 @@
         else if (returntype == null)
         {
             if (minfo.getOutputMessage () != null)
-                c_writer.write ("\t\t\t\t// no output?\n\t\t\t}\n");
+                c_writer.write ("\t\t\t\t// no output to process\n\t\t\t}\n");
         }
         else if (returntype.isAnyElement ())
         {

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=725769&r1=725768&r2=725769&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 Thu Dec 11 10:36:56 2008
@@ -1261,13 +1261,14 @@
         // For wrapped style, inner attributes and elements are added as parameters.
         // For unwrapped style, objects are used for the parameters (i.e. classes or structures).
         
-        Iterator names = type.getElementnames();
+        Iterator elementNames = type.getElementnames();
+        Iterator attributes   = type.getAttributes();
         if (!minfo.isUnwrapped())
         {
-            if (!names.hasNext())
+            if (!elementNames.hasNext())
             {
-                // TODO what if not simple?
-                if (type.isSimpleType())
+                // Type must be simple or primitive...we do a check just to make sure.
+                if (type.isSimpleType() || type.isPrimitiveType())
                 {
                     String elementName = (String) element.getQName().getLocalPart();
                     ParameterInfo pinfo = new ParameterInfo();
@@ -1281,9 +1282,9 @@
             }
             else
             {
-                while (names.hasNext())
+                while (elementNames.hasNext())
                 {
-                    String elementname  = (String) names.next();
+                    String elementname  = (String) elementNames.next();
                     CElementDecl eleinfo = type.getElementForElementName(elementname);
                     Type innerType      = eleinfo.getType();
                     
@@ -1302,25 +1303,37 @@
         }
         else
         { 
-            String elementName = (String) element.getQName().getLocalPart();
-            
-            ParameterInfo pinfo = new ParameterInfo();
-            pinfo.setType(type);
-            type.setIsUnwrappedOutputType(true);
-            pinfo.setParamName(elementName, c_typeMap);
-            
-            if (!names.hasNext() && type.isSimpleType())
-                pinfo.setElementName(element.getQName());
-            else
-                pinfo.setElementName(type.getName());
-            
-            pinfo.setAnyElement(type.isAnyElement());
-            
-            // Let us be nice and uppercase the first character in type name, 
-            // in addition to resolving method name/type conflicts.
-            type.setLanguageSpecificName(generateNewTypeName(type, minfo));
-            
-            minfo.addOutputParameter(pinfo);
+            // Ensure there is a response, if not, then operation is a one-way operation.
+            if (type.isSimpleType() 
+                    || type.isPrimitiveType()
+                    || elementNames.hasNext() 
+                    || (attributes != null && attributes.hasNext()))
+            {
+                String elementName = (String) element.getQName().getLocalPart();
+                
+                ParameterInfo pinfo = new ParameterInfo();
+                pinfo.setType(type);
+                type.setIsUnwrappedOutputType(true);
+                pinfo.setParamName(elementName, c_typeMap);
+                
+                if (!elementNames.hasNext() && (type.isSimpleType() || type.isPrimitiveType()))
+                    pinfo.setElementName(element.getQName());
+                else
+                    pinfo.setElementName(type.getName());
+                
+                pinfo.setAnyElement(type.isAnyElement());
+                
+                // Let us be nice and uppercase the first character in type name, 
+                // in addition to resolving method name/type conflicts.
+                type.setLanguageSpecificName(generateNewTypeName(type, minfo));
+                
+                minfo.addOutputParameter(pinfo);
+            }
+            else if (!elementNames.hasNext())
+            {
+                // empty element....check message response but no deserialization necessary
+                minfo.setConsumeBodyOnMessageValidation(true);
+            }
         }
     }
 

Added: webservices/axis/trunk/c/tests/auto_build/testcases/client/c/DocLitNonwrapperTestsClient.c
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/tests/auto_build/testcases/client/c/DocLitNonwrapperTestsClient.c?rev=725769&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/client/c/DocLitNonwrapperTestsClient.c (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/client/c/DocLitNonwrapperTestsClient.c Thu Dec 11 10:36:56 2008
@@ -0,0 +1,129 @@
+// Copyright 2003-2004 The Apache Software Foundation.
+// (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//        http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
+/* NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE   */
+/* ----------------------------------------------------------------   */
+/* CHANGES TO THIS FILE MAY ALSO REQUIRE CHANGES TO THE               */
+/* C-EQUIVALENT FILE. PLEASE ENSURE THAT IT IS DONE.                  */
+/* ----------------------------------------------------------------   */
+/* NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE   */
+/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
+
+#include <stdlib.h>
+#include <stdio.h>
+
+#include <axis/Axis.h>
+
+#include "CommonClientTestCode.h"
+#include "OperationWS.h" 
+
+
+
+int main(int argc, char* argv[])
+{
+	AXISCHANDLE ws;
+    char *pszURL = "http://localhost/axis/Operation";
+
+    axiscAxisRegisterExceptionHandler(exceptionHandler);
+
+    if (argc > 1)
+    	pszURL = argv[1];
+
+    ws = get_OperationWS_stub(pszURL);
+    
+    // ==============================
+    // Test 1
+	{
+        xsdc__string input1 = (xsdc__string )"Input for operation 1";
+        xsdc__string result1;
+
+        result1 = Operation1(ws, input1);
+        if (result1)
+        {
+            printf("Operation1 returned: %s\n", result1);
+        }
+        else
+            printf("Operation1 returned NULL - test failed\n");
+	}
+	
+    // ==============================
+    // Test 2
+	{
+        Operation2Request input2;
+        Operation2Response* result2;
+
+        input2.number1 = 2000;
+        result2 = Operation2(ws, &input2);
+        if (result2)
+        {
+            printf("Operation2 returned: %d\n", result2->result);
+            Axis_Delete_Operation2Response(result2, 0);
+        }
+        else
+            printf("Operation2 returned NULL - test failed\n");
+    }
+
+    // ==============================
+    // Test 3
+    {
+        Operation3Response* result3;
+
+        result3 = Operation3(ws);
+        if (result3)
+        {
+            printf("Operation3 returned: %d\n", result3->result);
+            Axis_Delete_Operation3Response(result3, 0);
+        }
+        else
+            printf("Operation3 returned NULL - test failed\n");
+     }
+
+    // ==============================
+    // Test 4
+    {
+        Operation4Request input4;
+
+        aRecord *arec = (aRecord  *)Axis_Create_aRecord(0);
+        arec->field1 = "field4444401";
+        arec->field2 = "field4444402";
+        arec->field3 = "field4444403";
+
+        input4.record = arec;
+
+        Operation4(ws, &input4);
+        printf("Operation4 completed...no response expected. \n");
+    }
+    
+    // ==============================
+    // Test 5
+    {
+        Operation5Request input5;
+
+        aRecord *arec = (aRecord  *)Axis_Create_aRecord(0);
+        arec->field1 = "field5555501";
+        arec->field2 = "field5555502";
+        arec->field3 = "field5555503";
+
+        input5.record = arec;
+
+        Operation5(ws, &input5);
+        printf("Operation5 completed...no response expected. \n");
+    }
+
+    printf("---------------------- TEST COMPLETE -----------------------------\n");
+    
+    return 0;
+}

Added: webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/DocLitNonwrapperTestsClient.cpp
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/DocLitNonwrapperTestsClient.cpp?rev=725769&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/DocLitNonwrapperTestsClient.cpp (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/DocLitNonwrapperTestsClient.cpp Thu Dec 11 10:36:56 2008
@@ -0,0 +1,193 @@
+// Copyright 2003-2004 The Apache Software Foundation.
+// (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//        http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
+/* NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE   */
+/* ----------------------------------------------------------------   */
+/* CHANGES TO THIS FILE MAY ALSO REQUIRE CHANGES TO THE               */
+/* C-EQUIVALENT FILE. PLEASE ENSURE THAT IT IS DONE.                  */
+/* ----------------------------------------------------------------   */
+/* NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE   */
+/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
+
+
+#include <axis/AxisException.hpp>
+#include <axis/Axis.hpp>
+#include "OperationWS.hpp" 
+
+#include <stdlib.h> // For malloc(), calloc(), strdup() and free()
+#include <iostream>
+
+
+int main(int argc, char* argv[])
+{
+    char *pszURL = "http://localhost/axis/Operation";
+
+    // Axis::startTrace("/tmp/axis.log", "noEntryExit;transport");
+
+    if (argc > 1)
+    	pszURL = argv[1];
+
+    OperationWS ws(pszURL);
+
+    try
+    {
+
+        // ==============================
+        // Test 1
+        xsd__string input1 = (xsd__string )"Input for operation 1";
+        xsd__string result1;
+
+        result1 = ws.Operation1(input1);
+        if (result1)
+        {
+            cout << "Operation1 returned: " << result1<< endl;
+        }
+        else
+            cout << "Operation1 returned NULL - test failed" << endl;
+    }
+    catch( AxisException& e)
+    {
+        cout << "Exception : " << e.what() << endl;
+    }
+    catch( exception& e)
+    {
+        cout << "Unknown Exception: " << e.what() << endl;
+    }
+    catch(...)
+    {
+        cout << "Unspecified Exception: " << endl;
+    }
+      
+    try
+    {  
+        // ==============================
+        // Test 2
+        Operation2Request input2;
+        Operation2Response* result2;
+
+        input2.setnumber1(2000);
+        result2 = ws.Operation2(&input2);
+        if (result2)
+        {
+            cout << "Operation2 returned: " << result2->getresult() << endl;
+            Axis_Delete_Operation2Response(result2);
+        }
+        else
+            cout << "Operation2 returned NULL - test failed" << endl;
+    }
+    catch( AxisException& e)
+    {
+        cout << "Exception : " << e.what() << endl;
+    }
+    catch( exception& e)
+    {
+        cout << "Unknown Exception: " << e.what() << endl;
+    }
+    catch(...)
+    {
+        cout << "Unspecified Exception: " << endl;
+    }
+
+    try
+    {  
+        // ==============================
+        // Test 3
+        Operation3Response* result3;
+
+        result3 = ws.Operation3();
+        if (result3)
+        {
+            cout << "Operation3 returned: " << result3->getresult() << endl;
+            Axis_Delete_Operation3Response(result3);
+        }
+        else
+            cout << "Operation3 returned NULL - test failed" << endl;
+    }
+    catch( AxisException& e)
+    {
+        cout << "Exception : " << e.what() << endl;
+    }
+    catch( exception& e)
+    {
+        cout << "Unknown Exception: " << e.what() << endl;
+    }
+    catch(...)
+    {
+        cout << "Unspecified Exception: " << endl;
+    }
+
+    try
+    {  
+        // ==============================
+        // Test 4
+        Operation4Request input4;
+
+        aRecord *arec = (aRecord  *)Axis_Create_aRecord();
+        arec->setfield1("field4444401");
+        arec->setfield2("field4444402");
+        arec->setfield3("field4444403");
+
+        input4.setrecord(arec);
+
+        ws.Operation4(&input4);
+        cout << "Operation4 completed...no response expected. " << endl;
+    }
+    catch( AxisException& e)
+    {
+        cout << "Exception : " << e.what() << endl;
+    }
+    catch( exception& e)
+    {
+        cout << "Unknown Exception: " << e.what() << endl;
+    }
+    catch(...)
+    {
+        cout << "Unspecified Exception: " << endl;
+    }
+
+    try
+    {  
+        // ==============================
+        // Test 5
+        Operation5Request input5;
+
+        aRecord *arec = (aRecord  *)Axis_Create_aRecord();
+        arec->setfield1("field5555501");
+        arec->setfield2("field5555502");
+        arec->setfield3("field5555503");
+
+        input5.setrecord(arec);
+
+        ws.Operation5(&input5);
+        cout << "Operation5 completed...no response expected. " << endl;
+    }
+    catch( AxisException& e)
+    {
+        cout << "Exception : " << e.what() << endl;
+    }
+    catch( exception& e)
+    {
+        cout << "Unknown Exception: " << e.what() << endl;
+    }
+    catch(...)
+    {
+        cout << "Unspecified Exception: " << endl;
+    }
+
+    cout << "---------------------- TEST COMPLETE -----------------------------" << endl;
+    
+    return 0;
+}

Added: webservices/axis/trunk/c/tests/auto_build/testcases/output/DocLitNonwrapperTests.cpp.out
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/tests/auto_build/testcases/output/DocLitNonwrapperTests.cpp.out?rev=725769&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/output/DocLitNonwrapperTests.cpp.out (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/output/DocLitNonwrapperTests.cpp.out Thu Dec 11 10:36:56 2008
@@ -0,0 +1,6 @@
+Operation1 returned: Some textual data
+Operation2 returned: 222
+Operation3 returned: 33
+Operation4 completed...no response expected. 
+Operation5 completed...no response expected. 
+---------------------- TEST COMPLETE -----------------------------

Added: webservices/axis/trunk/c/tests/auto_build/testcases/output/DocLitNonwrapperTests_ClientRequest.expected
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/tests/auto_build/testcases/output/DocLitNonwrapperTests_ClientRequest.expected?rev=725769&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/output/DocLitNonwrapperTests_ClientRequest.expected (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/output/DocLitNonwrapperTests_ClientRequest.expected Thu Dec 11 10:36:56 2008
@@ -0,0 +1,71 @@
+POST /axis/Operation HTTP/1.1
+Host: 127.0.0.1:13260
+Content-Type: text/xml; charset=UTF-8
+SOAPAction: ""
+Content-Length: 359
+
+<?xml version='1.0' encoding='utf-8' ?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://dom.w3c.org">
+<SOAP-ENV:Body>
+<ns1:inDocument>Input for operation 1</ns1:inDocument>
+</SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
+
+POST /axis/Operation HTTP/1.1
+Host: 127.0.0.1:13260
+Content-Type: text/xml; charset=UTF-8
+SOAPAction: ""
+Content-Length: 376
+
+<?xml version='1.0' encoding='utf-8' ?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://dom.w3c.org">
+<SOAP-ENV:Body>
+<ns1:Operation2Request><number1>2000</number1>
+</ns1:Operation2Request>
+</SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
+
+POST /axis/Operation HTTP/1.1
+Host: 127.0.0.1:13260
+Content-Type: text/xml; charset=UTF-8
+SOAPAction: ""
+Content-Length: 328
+
+<?xml version='1.0' encoding='utf-8' ?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://dom.w3c.org">
+<SOAP-ENV:Body>
+<ns1:Operation3Request/></SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
+
+POST /axis/Operation HTTP/1.1
+Host: 127.0.0.1:13260
+Content-Type: text/xml; charset=UTF-8
+SOAPAction: ""
+Content-Length: 459
+
+<?xml version='1.0' encoding='utf-8' ?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://dom.w3c.org">
+<SOAP-ENV:Body>
+<ns1:Operation4Request><record><field1>field4444401</field1>
+<field2>field4444402</field2>
+<field3>field4444403</field3>
+</record></ns1:Operation4Request>
+</SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
+
+POST /axis/Operation HTTP/1.1
+Host: 127.0.0.1:13260
+Content-Type: text/xml; charset=UTF-8
+SOAPAction: ""
+Content-Length: 459
+
+<?xml version='1.0' encoding='utf-8' ?>
+<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns1="http://dom.w3c.org">
+<SOAP-ENV:Body>
+<ns1:Operation5Request><record><field1>field5555501</field1>
+<field2>field5555502</field2>
+<field3>field5555503</field3>
+</record></ns1:Operation5Request>
+</SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
+

Added: webservices/axis/trunk/c/tests/auto_build/testcases/output/DocLitNonwrapperTests_ServerResponse.expected
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/tests/auto_build/testcases/output/DocLitNonwrapperTests_ServerResponse.expected?rev=725769&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/output/DocLitNonwrapperTests_ServerResponse.expected (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/output/DocLitNonwrapperTests_ServerResponse.expected Thu Dec 11 10:36:56 2008
@@ -0,0 +1,73 @@
+HTTP/1.1 200 OK
+Server: WebSphere Application Server/5.1
+Content-Type: text/xml; charset=utf-8
+Content-Language: en-GB
+Transfer-Encoding: chunked
+
+###
+<?xml version="1.0" encoding="utf-8"?>
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dom="http://dom.w3c.org">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <dom:return>Some textual data</dom:return>
+   </soapenv:Body>
+</soapenv:Envelope>
+0
+
+HTTP/1.1 200 OK
+Server: WebSphere Application Server/5.1
+Content-Type: text/xml; charset=utf-8
+Content-Language: en-GB
+Transfer-Encoding: chunked
+
+###
+<?xml version="1.0" encoding="utf-8"?>
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dom="http://dom.w3c.org">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <dom:Operation2Response>
+         <result>222</result>
+      </dom:Operation2Response>
+   </soapenv:Body>
+</soapenv:Envelope>
+0
+
+HTTP/1.1 200 OK
+Server: WebSphere Application Server/5.1
+Content-Type: text/xml; charset=utf-8
+Content-Language: en-GB
+Transfer-Encoding: chunked
+
+###
+<?xml version="1.0" encoding="utf-8"?>
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dom="http://dom.w3c.org">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <dom:Operation3Response>
+         <result>33</result>
+      </dom:Operation3Response>
+   </soapenv:Body>
+</soapenv:Envelope>
+0
+
+HTTP/1.1 200 OK
+Server: WebSphere Application Server/5.1
+Content-Type: text/xml; charset=utf-8
+Content-Language: en-GB
+Transfer-Encoding: chunked
+
+###
+<?xml version="1.0" encoding="utf-8"?>
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dom="http://dom.w3c.org">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <dom:Operation4Response/>
+   </soapenv:Body>
+</soapenv:Envelope>
+0
+
+HTTP/1.1 200 OK
+Content-Type: text/xml; charset=utf-8
+Content-Length: 0
+Server: Jetty(6.1.x)
+

Added: webservices/axis/trunk/c/tests/auto_build/testcases/tests/DocLitNonwrapperTests.xml
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/tests/auto_build/testcases/tests/DocLitNonwrapperTests.xml?rev=725769&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/tests/DocLitNonwrapperTests.xml (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/tests/DocLitNonwrapperTests.xml Thu Dec 11 10:36:56 2008
@@ -0,0 +1,13 @@
+<test>
+    <name>DocLitNonwrapperTests</name>
+    <description>DocLitNonwrapperTests</description>
+    <clientLang>cpp</clientLang>
+    <clientCode>DocLitNonwrapperTestsClient.cpp</clientCode>
+    <wsdl>DocLitNonwrapperTests.wsdl</wsdl>
+    <expected>
+        <request>DocLitNonwrapperTests_ClientRequest.expected</request>
+        <output>DocLitNonwrapperTests.cpp.out</output>
+		<serverResponse>DocLitNonwrapperTests_ServerResponse.expected</serverResponse>
+    </expected>
+	<endpoint>http://localhost:80/axis/Operation</endpoint>
+</test>

Added: webservices/axis/trunk/c/tests/auto_build/testcases/tests/DocLitNonwrapperTestsC.xml
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/tests/auto_build/testcases/tests/DocLitNonwrapperTestsC.xml?rev=725769&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/tests/DocLitNonwrapperTestsC.xml (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/tests/DocLitNonwrapperTestsC.xml Thu Dec 11 10:36:56 2008
@@ -0,0 +1,13 @@
+<test>
+    <name>DocLitNonwrapperTestsC</name>
+    <description>DocLitNonwrapperTestsC</description>
+    <clientLang>c</clientLang>
+    <clientCode>DocLitNonwrapperTestsClient.c</clientCode>
+    <wsdl>DocLitNonwrapperTests.wsdl</wsdl>
+    <expected>
+        <request>DocLitNonwrapperTests_ClientRequest.expected</request>
+        <output>DocLitNonwrapperTests.cpp.out</output>
+		<serverResponse>DocLitNonwrapperTests_ServerResponse.expected</serverResponse>
+    </expected>
+	<endpoint>http://localhost:80/axis/Operation</endpoint>
+</test>

Modified: webservices/axis/trunk/c/tests/auto_build/testcases/unitTest.list
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/tests/auto_build/testcases/unitTest.list?rev=725769&r1=725768&r2=725769&view=diff
==============================================================================
Binary files - no diff available.

Added: webservices/axis/trunk/c/tests/auto_build/testcases/unitTestCandCPP.list
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/tests/auto_build/testcases/unitTestCandCPP.list?rev=725769&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/unitTestCandCPP.list (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/unitTestCandCPP.list Thu Dec 11 10:36:56 2008
@@ -0,0 +1,238 @@
+# This is the sample we ship to customers
+Calculator.xml
+Attachment1.xml
+# AwkwardErrorResponse.xml - fails everywhere - bug in Axis C++
+AxisBench.xml
+CombinedAll.xml
+CombinedChoice.xml
+ComplexLists.xml
+
+# This test does not exist!
+#ComplexTypesAll.xml
+
+ConnectionClose.xml
+Cookies.xml
+DynamicAttachment.xml
+DynamicGet_AddAnyObjectTest.xml
+
+# Commented this test out because is currently not supported.
+#DynUnrefAttachmentTest.xml
+
+DynamicGetAnyObjectWithAttributesTest.xml
+Enumeration.xml
+ExceptionTestDoc.xml
+
+# This test does not exist!
+#HandlerTest6.xml
+
+HiddenMessageParts.xml
+InteropTestRound1.xml
+InOut.xml
+LargeReturningString.xml
+ManyTypeRefRoot.xml
+MathOpsDoc.xml
+MultiOut.xml
+NestedComplex.xml
+NilValuesTest.xml
+NillableArrays.xml
+nillableComplexType.xml
+PrimitiveAndArray.xml
+RecurseTypes.xml
+RefTestDoc.xml
+RpcHttpHeaderTest1.xml
+RpcHttpHeaderTest2.xml
+RpcHttpHeaderTest3.xml
+RpcHttpHeaderTest4.xml
+RpcHttpHeaderTest5.xml
+RpcHttpHeaderTest7.xml
+RpcHttpHeaderTest8.xml
+RpcSoapHeaderTest2.xml
+RpcSoapHeaderTest8.xml
+RpcSoapHeaderTest10.xml
+SimpleArrays.xml
+SimpleRefDoc.xml
+TestSoapHeaderBlock2.xml
+UnboundedChoice.xml
+UnboundedStringChoice.xml
+XSDElement.xml
+XSDElementNil.xml
+XSD_duration.xml
+XSD_dateTime.xml
+XSD_time.xml
+XSD_date.xml
+XSD_gYear.xml
+XSD_gYearMonth.xml
+XSD_gMonth.xml
+XSD_gMonthDay.xml
+XSD_gDay.xml
+XSD_string.xml
+XSD_normalizedString.xml
+XSD_token.xml
+XSD_language.xml
+XSD_Name.xml
+XSD_NCName.xml
+XSD_ID.xml
+XSD_IDREF.xml
+XSD_IDREFS.xml
+XSD_ENTITY.xml
+XSD_ENTITIES.xml
+XSD_NMTOKEN.xml
+XSD_NMTOKENS.xml
+XSD_boolean.xml
+XSD_base64Binary.xml
+XSD_hexBinary.xml
+XSD_float.xml
+XSD_double.xml
+XSD_decimal.xml
+XSD_nonPositiveInteger.xml
+XSD_negativeInteger.xml
+XSD_integer.xml
+XSD_long.xml
+XSD_int.xml
+XSD_short.xml
+XSD_byte.xml
+XSD_nonNegativeInteger.xml
+XSD_unsignedLong.xml
+XSD_unsignedInt.xml
+XSD_unsignedShort.xml
+XSD_unsignedByte.xml
+XSD_positiveInteger.xml
+XSD_anyURI.xml
+XSD_anyURI2.xml
+
+# Should not be in the list as test is incorrect
+#XSD_anyURIfault.xml
+
+XSD_QName.xml
+XSD_NOTATION.xml
+NamespaceTest1.xml
+ValidXMLCharIsInterpretedAsCPPCommand.xml
+ComplexTypeWithNillableSimpleElement.xml
+Arrays.xml
+MixedFalseWithMixedTextMessage.xml
+MixedTrueWithTextMessage.xml
+MixedTrueWithMixedTextMessage.xml
+MinOccursIsZero.xml
+ElementFormDefaultTest.xml
+ShallowAndDeepCopyingInComplexTypeOfSimpleTypes.xml
+XSD_base64BinaryTestValidData.xml
+Replica.xml
+SimpleXSDAny.xml
+ComplexTypeChoice1.xml
+ComplexTypeChoice2.xml
+ComplexTypeChoiceArrayChild.xml
+ComplexTypeChoiceComplexChild.xml
+ComplexTypeChoiceNestedChoice.xml
+# ComplexTypeChoiceNestedSequence.xml
+ComplexTypeChoiceSimple.xml
+ComplexTypeOptionalChoice.xml
+
+# Commented this test out because is currently not supported.
+#SimpleChoiceNillable.xml
+
+ComplexTypeAll.xml
+ComplexTypeAll1.xml
+ComplexTypeAll2.xml
+ComplexTypeAllComplexChild.xml
+
+# Commented this test out because is currently not supported.
+#ComplexTypeNillableAll.xml
+
+ComplexTypeOptionalAll.xml
+
+SameComplexTypeAndElementName.xml
+SameComplexTypeAndNillableElementName.xml
+
+LargeReturningString2.xml
+
+RestrictedPattern17667.xml
+
+# Tests to test Start/End element tags, with and without attributes.
+EmptyArrayOfString.xml
+StartEndElement.xml
+StartEndElementAttributes.xml
+
+# More extensive fault handling testing
+FaultMappingDocDivByZeroActorAndDetail.xml
+FaultMappingDocDivByZeroNoActorNoDetail.xml
+FaultMappingDocDivByZeroNoActor.xml
+FaultMappingDocDivByZeroNoDetail.xml
+
+NamespaceInBindingOperationsRpc.xml
+NamespaceInBindingOperationsRpcNoTypeInResponse.xml
+
+OneWayOperation.xml
+OneWayOperationUnwrapped.xml
+
+NoInputParams.xml
+NoInputParamsUnwrapped.xml
+
+inquire_v2.xml
+DocLitNonwrapperTests.xml
+
+# ===================================
+# ==== Beginning of C unit tests ====
+# ===================================
+
+AxisBenchC.xml
+EnumerationC.xml
+InOutC.xml
+LargeReturningStringC.xml
+ManyTypeRefRootC.xml
+MultiOutC.xml
+NestedComplexC.xml
+NilValuesTestC.xml
+NillableArraysC.xml
+nillableComplexType.xml
+PrimitiveAndArrayC.xml
+RecurseTypesC.xml
+RpcHttpHeaderTest1C.xml
+RpcHttpHeaderTest2C.xml
+RpcHttpHeaderTest3C.xml
+RpcHttpHeaderTest4C.xml
+RpcHttpHeaderTest5C.xml
+RpcHttpHeaderTest7C.xml
+RpcHttpHeaderTest8C.xml
+SimpleArraysC.xml
+XSD_durationC.xml
+XSD_dateTimeC.xml
+XSD_timeC.xml
+XSD_dateC.xml
+XSD_gYearC.xml
+XSD_gYearMonthC.xml
+XSD_gMonthC.xml
+XSD_gMonthDayC.xml
+XSD_gDayC.xml
+XSD_stringC.xml
+XSD_normalizedStringC.xml
+XSD_tokenC.xml
+XSD_languageC.xml
+XSD_NameC.xml
+XSD_NCNameC.xml
+XSD_IDC.xml
+XSD_booleanC.xml
+XSD_base64BinaryC.xml
+XSD_hexBinaryC.xml
+XSD_floatC.xml
+XSD_doubleC.xml
+XSD_decimalC.xml
+XSD_nonPositiveIntegerC.xml
+XSD_negativeIntegerC.xml
+XSD_integerC.xml
+XSD_longC.xml
+XSD_intC.xml
+XSD_shortC.xml
+XSD_byteC.xml
+XSD_nonNegativeIntegerC.xml
+XSD_unsignedLongC.xml
+XSD_unsignedIntC.xml
+XSD_unsignedShortC.xml
+XSD_unsignedByteC.xml
+XSD_positiveIntegerC.xml
+XSD_QNameC.xml
+SimpleXSDAnyC.xml
+ComplexTypeAllC.xml
+ComplexTypeAll1C.xml
+ComplexTypeAll2C.xml
+
+DocLitNonwrapperTestsC.xml

Added: webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/DocLitNonwrapperTests.wsdl
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/DocLitNonwrapperTests.wsdl?rev=725769&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/DocLitNonwrapperTests.wsdl (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/DocLitNonwrapperTests.wsdl Thu Dec 11 10:36:56 2008
@@ -0,0 +1,229 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2003-2004 The Apache Software Foundation.                      -->
+<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved                   -->
+<!--                                                                          -->
+<!-- Licensed under the Apache License, Version 2.0 (the "License");          -->
+<!-- you may not use this file except in compliance with the License.         -->
+<!-- You may obtain a copy of the License at                                  -->
+<!--                                                                          -->
+<!--        http://www.apache.org/licenses/LICENSE-2.0                        -->
+<!--                                                                          -->
+<!-- Unless required by applicable law or agreed to in writing, software      -->
+<!-- distributed under the License is distributed on an "AS IS" BASIS,        -->
+<!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
+<!-- See the License for the specific language governing permissions and      -->
+<!-- limitations under the License.                                           -->
+
+
+<!-- WSDL to test doc/lit non-wrapper  -->
+
+<wsdl:definitions targetNamespace="http://localhost/axis/Version" 
+                  xmlns="http://schemas.xmlsoap.org/wsdl/" 
+                  xmlns:intf="http://localhost/axis/Version" 
+                  xmlns:tns1="http://dom.w3c.org" 
+                  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
+                  xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" 
+                  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <wsdl:types>
+    <schema targetNamespace="http://dom.w3c.org" xmlns="http://www.w3.org/2001/XMLSchema">
+    
+      <element name="inDocument" nillable="true" type="xsd:string" />
+      <element name="return" nillable="true" type="xsd:string" />
+
+
+
+      <element name="Operation2Request">
+      	<xsd:complexType>
+      		<sequence>
+      			<element name="number1" type="xsd:int" />
+      		</sequence>
+      	</xsd:complexType>
+      </element>
+      
+      <element name="Operation2Response">
+      	<xsd:complexType>
+      		<xsd:sequence>
+      			<element name="result" type="xsd:int" />
+      		</xsd:sequence>
+      	</xsd:complexType>
+      </element>
+      
+      
+      <element name="Operation3Request">
+        <xsd:complexType/>
+      </element>
+      
+      <element name="Operation3Response">
+        <xsd:complexType>
+            <xsd:sequence>
+                <element name="result" type="xsd:int" />
+            </xsd:sequence>
+        </xsd:complexType>
+      </element>
+
+
+      <xsd:complexType name="aRecord">
+      	<xsd:sequence>
+      		<xsd:element name="field1" type="xsd:string" nillable="false" />
+      		<xsd:element name="field2" type="xsd:string" nillable="false" />
+      		<xsd:element name="field3" type="xsd:string" nillable="false" />
+      	</xsd:sequence>
+      </xsd:complexType>
+
+      <element name="Operation4Request">
+        <xsd:complexType>
+            <sequence>
+                <element name="record" type="tns1:aRecord" />
+            </sequence>
+        </xsd:complexType>
+      </element>
+      
+      <element name="Operation4Response">
+        <xsd:complexType/>
+      </element>      
+                  
+      <element name="Operation5Request">
+        <xsd:complexType>
+            <sequence>
+                <element name="record" type="tns1:aRecord" />
+            </sequence>
+        </xsd:complexType>
+      </element>
+      
+    </schema>
+  </wsdl:types>
+  
+  <wsdl:message name="Operation1Response">
+    <wsdl:part element="tns1:return" name="return" />
+  </wsdl:message>
+  
+  <wsdl:message name="Operation1Request">
+    <wsdl:part element="tns1:inDocument" name="inDocument" />
+  </wsdl:message>
+
+  <wsdl:message name="Operation2Response">
+  	<wsdl:part element="tns1:Operation2Response" name="Operation2Response" />
+  </wsdl:message>
+
+  <wsdl:message name="Operation2Request">
+  	<wsdl:part element="tns1:Operation2Request" name="Operation2Request" />
+  </wsdl:message>
+
+  <wsdl:message name="Operation3Response">
+    <wsdl:part element="tns1:Operation3Response" name="Operation3Response" />
+  </wsdl:message>
+
+  <wsdl:message name="Operation3Request">
+    <wsdl:part element="tns1:Operation3Request" name="Operation3Request" />
+  </wsdl:message>
+
+  <wsdl:message name="Operation4Response">
+    <wsdl:part element="tns1:Operation4Response" name="Operation4Response" />
+  </wsdl:message>
+
+  <wsdl:message name="Operation4Request">
+    <wsdl:part element="tns1:Operation4Request" name="Operation4Request" />
+  </wsdl:message>
+  
+  <wsdl:message name="Operation5Request">
+    <wsdl:part element="tns1:Operation5Request" name="Operation5Request" />
+  </wsdl:message>
+  
+  <wsdl:portType name="OperationWS">
+  
+    <wsdl:operation name="Operation1">
+      <wsdl:input message="intf:Operation1Request" name="Operation1Request" />
+      <wsdl:output message="intf:Operation1Response" name="Operation1Response" />
+    </wsdl:operation>
+
+    <wsdl:operation name="Operation2">
+    	<wsdl:input message="intf:Operation2Request" name="Operation2Request" />
+    	<wsdl:output message="intf:Operation2Response"	name="Operation2Response" />
+    </wsdl:operation>
+
+    <wsdl:operation name="Operation3">
+        <wsdl:input message="intf:Operation3Request" name="Operation3Request" />
+        <wsdl:output message="intf:Operation3Response"  name="Operation3Response" />
+    </wsdl:operation>
+      
+    <wsdl:operation name="Operation4">
+        <wsdl:input message="intf:Operation4Request" name="Operation4Request" />
+        <wsdl:output message="intf:Operation4Response"  name="Operation4Response" />
+    </wsdl:operation>
+            
+    <wsdl:operation name="Operation5">
+        <wsdl:input message="intf:Operation5Request" name="Operation5Request" />
+    </wsdl:operation>
+                    
+  </wsdl:portType>
+  
+  <wsdl:binding name="OperationSoapBinding" type="intf:OperationWS">
+    <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
+    
+    <wsdl:operation name="Operation1">
+      <wsdlsoap:operation soapAction="" />
+      
+      <wsdl:input name="Operation1Request">
+        <wsdlsoap:body use="literal" />
+      </wsdl:input>
+      
+      <wsdl:output name="Operation1Response">
+        <wsdlsoap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    
+    <wsdl:operation name="Operation2">
+      <wsdlsoap:operation soapAction="" />
+      
+      <wsdl:input name="Operation2Request">
+        <wsdlsoap:body use="literal" />
+      </wsdl:input>
+      
+      <wsdl:output name="Operation2Response">
+        <wsdlsoap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+ 
+    
+    <wsdl:operation name="Operation3">
+      <wsdlsoap:operation soapAction="" />
+      
+      <wsdl:input name="Operation3Request">
+        <wsdlsoap:body use="literal" />
+      </wsdl:input>
+      
+      <wsdl:output name="Operation3Response">
+        <wsdlsoap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+     
+    
+    <wsdl:operation name="Operation4">
+      <wsdlsoap:operation soapAction="" />
+      
+      <wsdl:input name="Operation4Request">
+        <wsdlsoap:body use="literal" />
+      </wsdl:input>
+      
+      <wsdl:output name="Operation4Response">
+        <wsdlsoap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+         
+    <wsdl:operation name="Operation5">
+      <wsdlsoap:operation soapAction="" />
+      
+      <wsdl:input name="Operation5Request">
+        <wsdlsoap:body use="literal" />
+      </wsdl:input>
+      
+    </wsdl:operation>         
+  </wsdl:binding>
+  
+  <wsdl:service name="OperationWSService">
+    <wsdl:port binding="intf:OperationSoapBinding" name="Operation">
+      <wsdlsoap:address location="http://localhost/axis/Operation" />
+    </wsdl:port>
+  </wsdl:service>
+  
+</wsdl:definitions>