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 di...@apache.org on 2005/11/29 16:26:01 UTC

svn commit: r349731 - in /webservices/axis/trunk/c/tests/auto_build/testcases: client/cpp/ output/ tests/ wsdls/

Author: dicka
Date: Tue Nov 29 07:25:52 2005
New Revision: 349731

URL: http://svn.apache.org/viewcvs?rev=349731&view=rev
Log:
Add new testcase for validating correct handling of form="qualified" and form="unqualified" on:
- simple types
- nillable simple types
- optional simple types
- arrays of simple types
- complex types
- arrays of complex types
- all of the above nested within a complex types

Added:
    webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ElementFormDefaultTestClient.cpp
    webservices/axis/trunk/c/tests/auto_build/testcases/output/ElementFormDefaultTest.expected
    webservices/axis/trunk/c/tests/auto_build/testcases/output/ElementFormDefaultTestRequest.out
    webservices/axis/trunk/c/tests/auto_build/testcases/output/ElementFormDefaultTest_ServerResponse.expected
    webservices/axis/trunk/c/tests/auto_build/testcases/tests/ElementFormDefaultTest.xml
    webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/ElementFormDefaultTest.wsdl

Added: webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ElementFormDefaultTestClient.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ElementFormDefaultTestClient.cpp?rev=349731&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ElementFormDefaultTestClient.cpp (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ElementFormDefaultTestClient.cpp Tue Nov 29 07:25:52 2005
@@ -0,0 +1,507 @@
+// 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.
+
+#include "ElementFormDefaultTest.hpp"
+#include "CommonClientTestCode.hpp"
+#include <axis/AxisException.hpp>
+#include <ctype.h>
+#include <iostream>
+#include <signal.h>
+
+void sig_handler(int);
+void PrintUsage();
+bool IsNumber(const char* p);
+
+int main(int argc, char* argv[])
+{
+    char endpoint[256];
+    const char* url="http://localhost:80/axis/ElementFormDefaultTest";
+
+    signal(SIGILL, sig_handler);
+    signal(SIGABRT, sig_handler);
+    signal(SIGSEGV, sig_handler);
+    //signal(SIGQUIT, sig_handler);
+    //signal(SIGBUS, sig_handler);
+    signal(SIGFPE, sig_handler);
+
+    url = argv[1];
+
+    bool bSuccess = false;
+    int iRetryIterationCount = 3;
+    do
+    {
+        try
+        {
+            sprintf(endpoint, "%s", url);
+            ElementFormDefaultTest ws(endpoint);
+
+			int arraySize = 2;
+			int count = 0;
+			int outputSize = 0;
+			
+			// form="unqualified"
+			cout << "Use of form=\"unqualified\"" << endl;
+			{
+				// Prepare input parameters			
+				xsd__string stringElement = new char[7];
+				strcpy(stringElement, "Hello!");
+				xsd__integer integerElement = 123;
+				xsd__integer_Array * integerArrayElement = new xsd__integer_Array();
+				xsd__integer** arrayOfInteger = new xsd__integer*[arraySize];
+				for (count = 0 ; count < arraySize ; count++ )
+				{
+					arrayOfInteger[count] = new xsd__integer(count);
+				}
+				integerArrayElement->set(arrayOfInteger, arraySize);
+				xsd__integer * optionalInteger = new xsd__integer(234); // While optional, we can only test correct namespace handling if we have a value!
+				xsd__integer * nillableInteger = NULL;
+
+				UnqualifiedSimpleComplexType * complexType = new UnqualifiedSimpleComplexType();
+				complexType->setsomeData(345);
+
+				UnqualifiedSimpleComplexType_Array * arrayOfComplexType = new UnqualifiedSimpleComplexType_Array();
+				UnqualifiedSimpleComplexType** complexTypeArray = new UnqualifiedSimpleComplexType*();
+				for (count = 0 ; count < arraySize ; count++ )
+				{
+					complexTypeArray[count] = new UnqualifiedSimpleComplexType();
+					complexTypeArray[count]->setsomeData(count);
+				}
+				arrayOfComplexType->set(complexTypeArray, arraySize);
+
+				// Prepare output parameters
+				xsd__string outStringElement = NULL;
+				xsd__integer * outIntegerElement = NULL;
+				xsd__integer_Array * outIntegerArrayElement = NULL;
+				xsd__integer * outOptionalIntegerElement = NULL;
+				xsd__integer * outNillableIntegerElement = NULL;
+				UnqualifiedSimpleComplexType * outComplexType = NULL;
+				UnqualifiedSimpleComplexType_Array * outArrayOfComplexType = NULL;
+
+				// Call method on web service
+				ws.elementFormDefaultIsUnqualified(stringElement,
+					integerElement,
+					integerArrayElement,
+					optionalInteger,
+					nillableInteger,
+					complexType,
+					arrayOfComplexType,
+					&outStringElement,
+					outIntegerElement,
+					outIntegerArrayElement, 
+					outOptionalIntegerElement, 
+					outNillableIntegerElement, 
+					&outComplexType, 
+					outArrayOfComplexType);
+
+				// Print output values
+				cout << "String element = " << outStringElement << endl;
+				cout << "Integer element = " << outIntegerElement << endl;
+				cout << "Array of integer elements" << endl;
+				outputSize = 0;
+				const xsd__integer** outArrayOfIntegers = outIntegerArrayElement->get(outputSize);
+				for (count = 0 ; count < outputSize ; count++ )
+				{
+					if (outArrayOfIntegers[count] != NULL)
+					{
+						cout << " element[" << count << "] = " << *outArrayOfIntegers[count] << endl;
+					}
+					else
+					{
+						cout << " element[" << count << "] = NULL" << endl;
+					}
+				}
+				if (outOptionalIntegerElement != NULL)
+				{
+					cout << "Optional integer element = " << *outOptionalIntegerElement << endl;
+				}
+				else
+				{
+					cout << "Optional integer element = NULL" << endl;
+				}
+				if (outNillableIntegerElement != NULL)
+				{
+					cout << "Nillable integer element = " << *outNillableIntegerElement << endl;
+				}
+				else
+				{
+					cout << "Nillable integer element = NULL" << endl;
+				}
+				cout << "SimpleComplexType->someData = " << outComplexType->someData << endl;
+				cout << "Array of complex elements" << endl;
+				outputSize = 0;
+				UnqualifiedSimpleComplexType** outComplexArray = outArrayOfComplexType->get(outputSize);
+				for (count = 0 ; count < outputSize ; count++ )
+				{
+					if (outComplexArray[count] != NULL)
+					{
+						cout << " element[" << count << "] = " << outComplexArray[count]->someData << endl;
+					}
+					else
+					{
+						cout << " element[" << count << "] = NULL" << endl;
+					}
+				}
+			}
+
+
+			// form="qualified"
+			cout << "Use of form=\"qualified\"" << endl;
+			{
+				// Prepare input parameters			
+				xsd__string stringElement = new char[7];
+				strcpy(stringElement, "Hello!");
+				xsd__integer integerElement = 123;
+				xsd__integer_Array * integerArrayElement = new xsd__integer_Array();
+				xsd__integer** arrayOfInteger = new xsd__integer*[arraySize];
+				for (count = 0 ; count < arraySize ; count++ )
+				{
+					arrayOfInteger[count] = new xsd__integer(count);
+				}
+				integerArrayElement->set(arrayOfInteger, arraySize);
+				xsd__integer * optionalInteger = new xsd__integer(234); // While optional, we can only test correct namespace handling if we have a value!
+				xsd__integer * nillableInteger = NULL;
+
+				QualifiedSimpleComplexType * complexType = new QualifiedSimpleComplexType();
+				complexType->setsomeData(345);
+
+				QualifiedSimpleComplexType_Array * arrayOfComplexType = new QualifiedSimpleComplexType_Array();
+				QualifiedSimpleComplexType** complexTypeArray = new QualifiedSimpleComplexType*();
+				for (count = 0 ; count < arraySize ; count++ )
+				{
+					complexTypeArray[count] = new QualifiedSimpleComplexType();
+					complexTypeArray[count]->setsomeData(count);
+				}
+				arrayOfComplexType->set(complexTypeArray, arraySize);
+
+				// Prepare output parameters
+				xsd__string outStringElement = NULL;
+				xsd__integer * outIntegerElement = NULL;
+				xsd__integer_Array * outIntegerArrayElement = NULL;
+				xsd__integer * outOptionalIntegerElement = NULL;
+				xsd__integer * outNillableIntegerElement = NULL;
+				QualifiedSimpleComplexType * outComplexType = NULL;
+				QualifiedSimpleComplexType_Array * outArrayOfComplexType = NULL;
+
+				// Call method on web service
+				ws.elementFormDefaultIsQualified(stringElement,
+					integerElement,
+					integerArrayElement,
+					optionalInteger,
+					nillableInteger,
+					complexType,
+					arrayOfComplexType,
+					&outStringElement,
+					outIntegerElement,
+					outIntegerArrayElement, 
+					outOptionalIntegerElement, 
+					outNillableIntegerElement, 
+					&outComplexType, 
+					outArrayOfComplexType);
+
+				// Print output values
+				cout << "String element = " << outStringElement << endl;
+				cout << "Integer element = " << outIntegerElement << endl;
+				cout << "Array of integer elements" << endl;
+				outputSize = 0;
+				const xsd__integer** outArrayOfIntegers = outIntegerArrayElement->get(outputSize);
+				for (count = 0 ; count < outputSize ; count++ )
+				{
+					if (outArrayOfIntegers[count] != NULL)
+					{
+						cout << " element[" << count << "] = " << *outArrayOfIntegers[count] << endl;
+					}
+					else
+					{
+						cout << " element[" << count << "] = NULL" << endl;
+					}
+				}
+				if (outOptionalIntegerElement != NULL)
+				{
+					cout << "Optional integer element = " << *outOptionalIntegerElement << endl;
+				}
+				else
+				{
+					cout << "Optional integer element = NULL" << endl;
+				}
+				if (outNillableIntegerElement != NULL)
+				{
+					cout << "Nillable integer element = " << *outNillableIntegerElement << endl;
+				}
+				else
+				{
+					cout << "Nillable integer element = NULL" << endl;
+				}
+				cout << "SimpleComplexType->someData = " << outComplexType->someData << endl;
+				cout << "Array of complex elements" << endl;
+				outputSize = 0;
+				QualifiedSimpleComplexType** outComplexArray = outArrayOfComplexType->get(outputSize);
+				for (count = 0 ; count < outputSize ; count++ )
+				{
+					if (outComplexArray[count] != NULL)
+					{
+						cout << " element[" << count << "] = " << outComplexArray[count]->someData << endl;
+					}
+					else
+					{
+						cout << " element[" << count << "] = NULL" << endl;
+					}
+				}
+			}
+
+			// Nested within a Complex Type
+			// form="unqualified"
+			cout << "Use of form=\"unqualified\" nested within a complex type" << endl;
+			{
+				// Prepare input parameters			
+				xsd__string stringElement = new char[7];
+				strcpy(stringElement, "Hello!");
+				xsd__integer integerElement = 123;
+				xsd__integer_Array * integerArrayElement = new xsd__integer_Array();
+				xsd__integer** arrayOfInteger = new xsd__integer*[arraySize];
+				for (count = 0 ; count < arraySize ; count++ )
+				{
+					arrayOfInteger[count] = new xsd__integer(count);
+				}
+				integerArrayElement->set(arrayOfInteger, arraySize);
+				xsd__integer * optionalInteger = new xsd__integer(234); // While optional, we can only test correct namespace handling if we have a value!
+				xsd__integer * nillableInteger = NULL;
+
+				UnqualifiedSimpleComplexType * complexType = new UnqualifiedSimpleComplexType();
+				complexType->setsomeData(345);
+
+				UnqualifiedSimpleComplexType_Array * arrayOfComplexType = new UnqualifiedSimpleComplexType_Array();
+				UnqualifiedSimpleComplexType** complexTypeArray = new UnqualifiedSimpleComplexType*();
+				for (count = 0 ; count < arraySize ; count++ )
+				{
+					complexTypeArray[count] = new UnqualifiedSimpleComplexType();
+					complexTypeArray[count]->setsomeData(count);
+				}
+				arrayOfComplexType->set(complexTypeArray, arraySize);
+
+				ElementFormDefaultIsUnqualified input;
+				input.setaStringType(stringElement);
+				input.setanIntegerType(integerElement);
+				input.setanIntegerArray(integerArrayElement);
+				input.setanOptionalIntegerType(optionalInteger);
+				input.setaNillableIntegerType(nillableInteger);
+				input.setSimpleComplexType(complexType);
+				input.setarrayOfSimpleComplexType(arrayOfComplexType);
+
+				// Call method on web service
+				ElementFormDefaultIsUnqualified * output = ws.nestedElementFormDefaultIsUnqualified(&input);
+				
+
+				// Print output values
+				cout << "String element = " << output->aStringType << endl;
+				cout << "Integer element = " << output->anIntegerType << endl;
+				cout << "Array of integer elements" << endl;
+				outputSize = 0;
+				const xsd__integer** outArrayOfIntegers = output->anIntegerArray->get(outputSize);
+				for (count = 0 ; count < outputSize ; count++ )
+				{
+					if (outArrayOfIntegers[count] != NULL)
+					{
+						cout << " element[" << count << "] = " << *outArrayOfIntegers[count] << endl;
+					}
+					else
+					{
+						cout << " element[" << count << "] = NULL" << endl;
+					}
+				}
+				if (output->anOptionalIntegerType != NULL)
+				{
+					cout << "Optional integer element = " << *output->anOptionalIntegerType << endl;
+				}
+				else
+				{
+					cout << "Optional integer element = NULL" << endl;
+				}
+				if (output->aNillableIntegerType != NULL)
+				{
+					cout << "Nillable integer element = " << *output->aNillableIntegerType << endl;
+				}
+				else
+				{
+					cout << "Nillable integer element = NULL" << endl;
+				}
+				cout << "SimpleComplexType->someData = " << output->SimpleComplexType->someData << endl;
+				cout << "Array of complex elements" << endl;
+				outputSize = 0;
+				UnqualifiedSimpleComplexType** outComplexArray = output->arrayOfSimpleComplexType->get(outputSize);
+				for (count = 0 ; count < outputSize ; count++ )
+				{
+					if (outComplexArray[count] != NULL)
+					{
+						cout << " element[" << count << "] = " << outComplexArray[count]->someData << endl;
+					}
+					else
+					{
+						cout << " element[" << count << "] = NULL" << endl;
+					}
+				}
+			}
+
+			// form="qualified"
+			cout << "Use of form=\"qualified\" nested within a complex type" << endl;
+			{
+				// Prepare input parameters			
+				xsd__string stringElement = new char[7];
+				strcpy(stringElement, "Hello!");
+				xsd__integer integerElement = 123;
+				xsd__integer_Array * integerArrayElement = new xsd__integer_Array();
+				xsd__integer** arrayOfInteger = new xsd__integer*[arraySize];
+				for (count = 0 ; count < arraySize ; count++ )
+				{
+					arrayOfInteger[count] = new xsd__integer(count);
+				}
+				integerArrayElement->set(arrayOfInteger, arraySize);
+				xsd__integer * optionalInteger = new xsd__integer(234); // While optional, we can only test correct namespace handling if we have a value!
+				xsd__integer * nillableInteger = NULL;
+
+				QualifiedSimpleComplexType * complexType = new QualifiedSimpleComplexType();
+				complexType->setsomeData(345);
+
+				QualifiedSimpleComplexType_Array * arrayOfComplexType = new QualifiedSimpleComplexType_Array();
+				QualifiedSimpleComplexType** complexTypeArray = new QualifiedSimpleComplexType*();
+				for (count = 0 ; count < arraySize ; count++ )
+				{
+					complexTypeArray[count] = new QualifiedSimpleComplexType();
+					complexTypeArray[count]->setsomeData(count);
+				}
+				arrayOfComplexType->set(complexTypeArray, arraySize);
+
+				ElementFormDefaultIsQualified input;
+				input.setaStringType(stringElement);
+				input.setanIntegerType(integerElement);
+				input.setanIntegerArray(integerArrayElement);
+				input.setanOptionalIntegerType(optionalInteger);
+				input.setaNillableIntegerType(nillableInteger);
+				input.setSimpleComplexType(complexType);
+				input.setarrayOfSimpleComplexType(arrayOfComplexType);
+
+				// Call method on web service
+				ElementFormDefaultIsQualified * output = ws.nestedElementFormDefaultIsQualified(&input);
+				
+
+				// Print output values
+				cout << "String element = " << output->aStringType << endl;
+				cout << "Integer element = " << output->anIntegerType << endl;
+				cout << "Array of integer elements" << endl;
+				outputSize = 0;
+				const xsd__integer** outArrayOfIntegers = output->anIntegerArray->get(outputSize);
+				for (count = 0 ; count < outputSize ; count++ )
+				{
+					if (outArrayOfIntegers[count] != NULL)
+					{
+						cout << " element[" << count << "] = " << *outArrayOfIntegers[count] << endl;
+					}
+					else
+					{
+						cout << " element[" << count << "] = NULL" << endl;
+					}
+				}
+				if (output->anOptionalIntegerType != NULL)
+				{
+					cout << "Optional integer element = " << *output->anOptionalIntegerType << endl;
+				}
+				else
+				{
+					cout << "Optional integer element = NULL" << endl;
+				}
+				if (output->aNillableIntegerType != NULL)
+				{
+					cout << "Nillable integer element = " << *output->aNillableIntegerType << endl;
+				}
+				else
+				{
+					cout << "Nillable integer element = NULL" << endl;
+				}
+				cout << "SimpleComplexType->someData = " << output->SimpleComplexType->someData << endl;
+				cout << "Array of complex elements" << endl;
+				outputSize = 0;
+				QualifiedSimpleComplexType** outComplexArray = output->arrayOfSimpleComplexType->get(outputSize);
+				for (count = 0 ; count < outputSize ; count++ )
+				{
+					if (outComplexArray[count] != NULL)
+					{
+						cout << " element[" << count << "] = " << outComplexArray[count]->someData << endl;
+					}
+					else
+					{
+						cout << " element[" << count << "] = NULL" << endl;
+					}
+				}
+			}
+
+
+			// All tests were successful
+            bSuccess = 1;
+        }
+        catch(AxisException& e)
+        {
+            bool bSilent = false;
+
+           if( e.getExceptionCode() == CLIENT_TRANSPORT_OPEN_CONNECTION_FAILED)
+          {
+             if( iRetryIterationCount > 0)
+             {
+                 bSilent = true;
+               }
+         }
+         else
+          {
+             iRetryIterationCount = 0;
+         }
+
+            if( !bSilent)
+            {
+             cout << "Exception : " << e.what() << endl;
+           }
+     }
+     catch(exception& e)
+       {
+         cout << "Unexpected exception has occured: " << e.what() << endl;
+     }
+     catch(...)
+        {
+         cout << "Unknown exception has occured" << endl;
+      }
+     iRetryIterationCount--;
+   } while( iRetryIterationCount > 0 && !bSuccess);
+    cout<< "---------------------- TEST COMPLETE -----------------------------"<< endl;
+ 
+  return 0;
+}
+
+void PrintUsage()
+{
+  printf("Usage :\n Calculator <url>\n\n");
+ exit(1);
+}
+
+bool IsNumber(const char* p)
+{
+    for (unsigned int x=0; x < strlen(p); x++)
+ {
+     if (!isdigit(p[x])) return false;
+ }
+ return true;
+}
+
+void sig_handler(int sig) {
+    signal(sig, sig_handler);
+    cout << "SIGNAL RECEIVED " << sig << endl;
+ exit(1);
+}

Added: webservices/axis/trunk/c/tests/auto_build/testcases/output/ElementFormDefaultTest.expected
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/output/ElementFormDefaultTest.expected?rev=349731&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/output/ElementFormDefaultTest.expected (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/output/ElementFormDefaultTest.expected Tue Nov 29 07:25:52 2005
@@ -0,0 +1,49 @@
+Use of form="unqualified"
+String element = Hello!
+Integer element = 123
+Array of integer elements
+ element[0] = 0
+ element[1] = 1
+Optional integer element = 234
+Nillable integer element = NULL
+SimpleComplexType->someData = 345
+Array of complex elements
+ element[0] = 0
+ element[1] = 1
+Use of form="qualified"
+String element = Hello!
+Integer element = 123
+Array of integer elements
+ element[0] = 0
+ element[1] = 1
+Optional integer element = 234
+Nillable integer element = NULL
+SimpleComplexType->someData = 345
+Array of complex elements
+ element[0] = 0
+ element[1] = 1
+Use of form="unqualified" nested within a complex type
+String element = Hello!
+Integer element = 123
+Array of integer elements
+ element[0] = 0
+ element[1] = 1
+Optional integer element = 234
+Nillable integer element = NULL
+SimpleComplexType->someData = 345
+Array of complex elements
+ element[0] = 0
+ element[1] = 1
+Use of form="qualified" nested within a complex type
+String element = Hello!
+Integer element = 123
+Array of integer elements
+ element[0] = 0
+ element[1] = 1
+Optional integer element = 234
+Nillable integer element = NULL
+SimpleComplexType->someData = 345
+Array of complex elements
+ element[0] = 0
+ element[1] = 1
+---------------------- TEST COMPLETE -----------------------------

Added: webservices/axis/trunk/c/tests/auto_build/testcases/output/ElementFormDefaultTestRequest.out
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/output/ElementFormDefaultTestRequest.out?rev=349731&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/output/ElementFormDefaultTestRequest.out (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/output/ElementFormDefaultTestRequest.out Tue Nov 29 07:25:52 2005
@@ -0,0 +1,95 @@
+POST /XSD_decimal/services/XSD_decimalSOAP HTTP/1.1
+Host: localhost:13260
+Content-Type: text/xml; charset=UTF-8
+SOAPAction: "null"
+Content-Length: 887
+
+<?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">
+<SOAP-ENV:Body>
+<ns1:elementFormDefaultIsUnqualifiedRequest xmlns:ns1="http://tempuri.org/ElementFormDefaultTest/">
+<aStringType>Hello!</aStringType>
+<anIntegerType>123</anIntegerType>
+<anIntegerArray>0</anIntegerArray>
+<anIntegerArray>1</anIntegerArray>
+<anOptionalIntegerType>234</anOptionalIntegerType>
+<aNillableIntegerType xsi:nil="true"></aNillableIntegerType>
+<SimpleComplexType><someData>345</someData>
+</SimpleComplexType>
+<arrayOfSimpleComplexType><someData>0</someData>
+</arrayOfSimpleComplexType><arrayOfSimpleComplexType><someData>1</someData>
+</arrayOfSimpleComplexType></ns1:elementFormDefaultIsUnqualifiedRequest>
+</SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
+
+POST /XSD_decimal/services/XSD_decimalSOAP HTTP/1.1
+Host: localhost:13260
+Content-Type: text/xml; charset=UTF-8
+SOAPAction: "null"
+Content-Length: 979
+
+<?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">
+<SOAP-ENV:Body>
+<ns1:elementFormDefaultIsQualifiedRequest xmlns:ns1="http://tempuri.org/ElementFormDefaultTest/">
+<ns1:aStringType>Hello!</ns1:aStringType>
+<ns1:anIntegerType>123</ns1:anIntegerType>
+<ns1:anIntegerArray>0</ns1:anIntegerArray>
+<ns1:anIntegerArray>1</ns1:anIntegerArray>
+<ns1:anOptionalIntegerType>234</ns1:anOptionalIntegerType>
+<ns1:aNillableIntegerType xsi:nil="true"></ns1:aNillableIntegerType>
+<ns1:SimpleComplexType><ns1:someData>345</ns1:someData>
+</ns1:SimpleComplexType>
+<ns1:arrayOfSimpleComplexType><ns1:someData>0</ns1:someData>
+</ns1:arrayOfSimpleComplexType><ns1:arrayOfSimpleComplexType><ns1:someData>1</ns1:someData>
+</ns1:arrayOfSimpleComplexType></ns1:elementFormDefaultIsQualifiedRequest>
+</SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
+
+POST /XSD_decimal/services/XSD_decimalSOAP HTTP/1.1
+Host: localhost:13260
+Content-Type: text/xml; charset=UTF-8
+SOAPAction: "null"
+Content-Length: 966
+
+<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">
+<SOAP-ENV:Body>
+<ns1:nestedElementFormDefaultIsUnqualifiedRequest xmlns:ns1="http://tempuri.org/ElementFormDefaultTest/">
+<ElementFormDefaultIsUnqualified><aStringType>Hello!</aStringType>
+<anIntegerType>123</anIntegerType>
+<anIntegerArray>0</anIntegerArray>
+<anIntegerArray>1</anIntegerArray>
+<anOptionalIntegerType>234</anOptionalIntegerType>
+<aNillableIntegerType xsi:nil="true"></aNillableIntegerType>
+<SimpleComplexType><someData>345</someData>
+</SimpleComplexType><arrayOfSimpleComplexType><someData>0</someData>
+</arrayOfSimpleComplexType><arrayOfSimpleComplexType><someData>1</someData>
+</arrayOfSimpleComplexType></ElementFormDefaultIsUnqualified>
+</ns1:nestedElementFormDefaultIsUnqualifiedRequest>
+</SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
+
+POST /XSD_decimal/services/XSD_decimalSOAP HTTP/1.1
+Host: localhost:13260
+Content-Type: text/xml; charset=UTF-8
+SOAPAction: "null"
+Content-Length: 1062
+
+<?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">
+<SOAP-ENV:Body>
+<ns1:nestedElementFormDefaultIsQualifiedRequest xmlns:ns1="http://tempuri.org/ElementFormDefaultTest/">
+<ns1:ElementFormDefaultIsQualified><ns1:aStringType>Hello!</ns1:aStringType>
+<ns1:anIntegerType>123</ns1:anIntegerType>
+<ns1:anIntegerArray>0</ns1:anIntegerArray>
+<ns1:anIntegerArray>1</ns1:anIntegerArray>
+<ns1:anOptionalIntegerType>234</ns1:anOptionalIntegerType>
+<ns1:aNillableIntegerType xsi:nil="true"></ns1:aNillableIntegerType>
+<ns1:SimpleComplexType><ns1:someData>345</ns1:someData>
+</ns1:SimpleComplexType><ns1:arrayOfSimpleComplexType><ns1:someData>0</ns1:someData>
+</ns1:arrayOfSimpleComplexType><ns1:arrayOfSimpleComplexType><ns1:someData>1</ns1:someData>
+</ns1:arrayOfSimpleComplexType></ns1:ElementFormDefaultIsQualified>
+</ns1:nestedElementFormDefaultIsQualifiedRequest>
+</SOAP-ENV:Body>
+</SOAP-ENV:Envelope>
+

Added: webservices/axis/trunk/c/tests/auto_build/testcases/output/ElementFormDefaultTest_ServerResponse.expected
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/output/ElementFormDefaultTest_ServerResponse.expected?rev=349731&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/output/ElementFormDefaultTest_ServerResponse.expected (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/output/ElementFormDefaultTest_ServerResponse.expected Tue Nov 29 07:25:52 2005
@@ -0,0 +1,44 @@
+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"?>
+<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"><SOAP-ENV:Body><ns1:elementFormDefaultIsUnqualifiedResponse xmlns:ns1="http://tempuri.org/ElementFormDefaultTest/"><aStringType>Hello!</aStringType><anIntegerType>123</anIntegerType><anIntegerArray>0</anIntegerArray><anIntegerArray>1</anIntegerArray><anOptionalIntegerType>234</anOptionalIntegerType><aNillableIntegerType xsi:nil="true"></aNillableIntegerType><SimpleComplexType><someData>345</someData></SimpleComplexType><arrayOfSimpleComplexType><someData>0</someData></arrayOfSimpleComplexType><arrayOfSimpleComplexType><someData>1</someData></arrayOfSimpleComplexType></ns1:elementFormDefaultIsUnqualifiedResponse></SOAP-ENV:Body></SOAP-ENV: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"?>
+<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"><SOAP-ENV:Body><ns1:elementFormDefaultIsQualifiedResponse xmlns:ns1="http://tempuri.org/ElementFormDefaultTest/"><ns1:aStringType>Hello!</ns1:aStringType><ns1:anIntegerType>123</ns1:anIntegerType><ns1:anIntegerArray>0</ns1:anIntegerArray><ns1:anIntegerArray>1</ns1:anIntegerArray><ns1:anOptionalIntegerType>234</ns1:anOptionalIntegerType><ns1:aNillableIntegerType xsi:nil="true"></ns1:aNillableIntegerType><ns1:SimpleComplexType><ns1:someData>345</ns1:someData></ns1:SimpleComplexType><ns1:arrayOfSimpleComplexType><ns1:someData>0</ns1:someData></ns1:arrayOfSimpleComplexType><ns1:arrayOfSimpleComplexType><ns1:someData>1</ns1:someData></ns1:arrayOfSimpleComplexType></ns1:elementFormDefaultIsQualifiedResponse></SOAP-ENV:Body></SOAP-ENV: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"?>
+<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"><SOAP-ENV:Body><ns1:nestedElementFormDefaultIsUnqualifiedResponse xmlns:ns1="http://tempuri.org/ElementFormDefaultTest/"><ElementFormDefaultIsUnqualified><aStringType>Hello!</aStringType><anIntegerType>123</anIntegerType><anIntegerArray>0</anIntegerArray><anIntegerArray>1</anIntegerArray><anOptionalIntegerType>234</anOptionalIntegerType><aNillableIntegerType xsi:nil="true"></aNillableIntegerType><SimpleComplexType><someData>345</someData></SimpleComplexType><arrayOfSimpleComplexType><someData>0</someData></arrayOfSimpleComplexType><arrayOfSimpleComplexType><someData>1</someData></arrayOfSimpleComplexType></ElementFormDefaultIsUnqualified></ns1:nestedElementFormDefaultIsUnqualifiedResponse></SOAP-ENV:Body></SOAP-ENV: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"?>
+<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"><SOAP-ENV:Body><ns1:nestedElementFormDefaultIsQualifiedResponse xmlns:ns1="http://tempuri.org/ElementFormDefaultTest/"><ns1:ElementFormDefaultIsQualified><ns1:aStringType>Hello!</ns1:aStringType><ns1:anIntegerType>123</ns1:anIntegerType><ns1:anIntegerArray>0</ns1:anIntegerArray><ns1:anIntegerArray>1</ns1:anIntegerArray><ns1:anOptionalIntegerType>234</ns1:anOptionalIntegerType><ns1:aNillableIntegerType xsi:nil="true"></ns1:aNillableIntegerType><ns1:SimpleComplexType><ns1:someData>345</ns1:someData></ns1:SimpleComplexType><ns1:arrayOfSimpleComplexType><ns1:someData>0</ns1:someData></ns1:arrayOfSimpleComplexType><ns1:arrayOfSimpleComplexType><ns1:someData>1</ns1:someData></ns1:arrayOfSimpleComplexType></ns1:ElementFormDefaultIsQualified></ns1:nestedElementFormDefaultIsQualifiedResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
+0
+

Added: webservices/axis/trunk/c/tests/auto_build/testcases/tests/ElementFormDefaultTest.xml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/tests/ElementFormDefaultTest.xml?rev=349731&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/tests/ElementFormDefaultTest.xml (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/tests/ElementFormDefaultTest.xml Tue Nov 29 07:25:52 2005
@@ -0,0 +1,20 @@
+<test>
+    <name>ElementFormDefaultTest</name>
+    <description>Test correct serialization when the attribute form is qualified or unqualified</description>
+    <clientLang>cpp</clientLang>
+    <clientCode>ElementFormDefaultTestClient.cpp</clientCode>
+    <wsdl>ElementFormDefaultTest.wsdl</wsdl>
+    <expected>
+        <output>
+            ElementFormDefaultTest.expected
+        </output>
+		<request>
+			ElementFormDefaultTestRequest.out
+		</request>
+		<serverResponse>
+			ElementFormDefaultTest_ServerResponse.expected
+	    </serverResponse>
+    </expected>
+	<endpoint>http://localhost:80/axis/ElementFormDefaultTest</endpoint>
+</test>
+

Added: webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/ElementFormDefaultTest.wsdl
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/ElementFormDefaultTest.wsdl?rev=349731&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/ElementFormDefaultTest.wsdl (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/wsdls/ElementFormDefaultTest.wsdl Tue Nov 29 07:25:52 2005
@@ -0,0 +1,340 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://tempuri.org/ElementFormDefaultTest/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ElementFormDefaultTest" targetNamespace="http://tempuri.org/ElementFormDefaultTest/">
+  <wsdl:types>
+    <xsd:schema targetNamespace="http://tempuri.org/ElementFormDefaultTest/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+      <xsd:element name="elementFormDefaultIsUnqualifiedResponse">
+      	<xsd:complexType>
+      		<xsd:sequence>
+        		<xsd:element name="aStringType" type="xsd:string"
+        			minOccurs="1" maxOccurs="1" form="unqualified">
+        		</xsd:element>
+        		<xsd:element name="anIntegerType" type="xsd:integer"
+        			minOccurs="1" maxOccurs="1" form="unqualified">
+        		</xsd:element>
+        		<xsd:element name="anIntegerArray" type="xsd:integer"
+        			minOccurs="1" maxOccurs="unbounded" form="unqualified">
+        		</xsd:element>
+        		<xsd:element name="anOptionalIntegerType"
+        			type="xsd:integer" minOccurs="0" maxOccurs="1"
+        			form="unqualified">
+        		</xsd:element>
+        		<xsd:element name="aNillableIntegerType"
+        			type="xsd:integer" minOccurs="1" maxOccurs="1"
+        			nillable="true" form="unqualified">
+        		</xsd:element>
+        		<xsd:element name="SimpleComplexType"
+        			type="tns:UnqualifiedSimpleComplexType" minOccurs="1"
+        			maxOccurs="1" form="unqualified">
+        		</xsd:element>
+        		<xsd:element name="arrayOfSimpleComplexType"
+        			type="tns:UnqualifiedSimpleComplexType" minOccurs="1"
+        			maxOccurs="unbounded" form="unqualified">
+        		</xsd:element>
+        	</xsd:sequence>
+      	</xsd:complexType>
+      </xsd:element>
+      <xsd:element name="elementFormDefaultIsUnqualifiedRequest">
+      	<xsd:complexType>
+      		<xsd:sequence>
+        		<xsd:element name="aStringType" type="xsd:string"
+        			minOccurs="1" maxOccurs="1" form="unqualified">
+        		</xsd:element>
+        		<xsd:element name="anIntegerType" type="xsd:integer"
+        			minOccurs="1" maxOccurs="1" form="unqualified">
+        		</xsd:element>
+        		<xsd:element name="anIntegerArray" type="xsd:integer"
+        			minOccurs="1" maxOccurs="unbounded" form="unqualified">
+        		</xsd:element>
+        		<xsd:element name="anOptionalIntegerType"
+        			type="xsd:integer" minOccurs="0" maxOccurs="1"
+        			form="unqualified">
+        		</xsd:element>
+        		<xsd:element name="aNillableIntegerType"
+        			type="xsd:integer" minOccurs="1" maxOccurs="1"
+        			nillable="true" form="unqualified">
+        		</xsd:element>
+        		<xsd:element name="SimpleComplexType"
+        			type="tns:UnqualifiedSimpleComplexType" minOccurs="1"
+        			maxOccurs="1" form="unqualified">
+        		</xsd:element>
+        		<xsd:element name="arrayOfSimpleComplexType"
+        			type="tns:UnqualifiedSimpleComplexType" minOccurs="1"
+        			maxOccurs="unbounded" form="unqualified">
+        		</xsd:element>
+        	</xsd:sequence>
+      	</xsd:complexType>
+      </xsd:element>
+      <xsd:element name="elementFormDefaultIsQualifiedResponse">
+      	<xsd:complexType>
+      		<xsd:sequence>
+        		<xsd:element name="aStringType" type="xsd:string"
+        			minOccurs="1" maxOccurs="1" form="qualified">
+        		</xsd:element>
+        		<xsd:element name="anIntegerType" type="xsd:integer"
+        			minOccurs="1" maxOccurs="1" form="qualified">
+        		</xsd:element>
+        		<xsd:element name="anIntegerArray" type="xsd:integer"
+        			minOccurs="1" maxOccurs="unbounded" form="qualified">
+        		</xsd:element>
+        		<xsd:element name="anOptionalIntegerType"
+        			type="xsd:integer" minOccurs="0" maxOccurs="1"
+        			form="qualified">
+        		</xsd:element>
+        		<xsd:element name="aNillableIntegerType"
+        			type="xsd:integer" minOccurs="1" maxOccurs="1"
+        			nillable="true" form="qualified">
+        		</xsd:element>
+        		<xsd:element name="SimpleComplexType"
+        			type="tns:QualifiedSimpleComplexType" minOccurs="1"
+        			maxOccurs="1" form="qualified">
+        		</xsd:element>
+        		<xsd:element name="arrayOfSimpleComplexType"
+        			type="tns:QualifiedSimpleComplexType" minOccurs="1"
+        			maxOccurs="unbounded" form="qualified">
+        		</xsd:element>
+        	</xsd:sequence>
+      	</xsd:complexType>
+      </xsd:element>
+      <xsd:element name="elementFormDefaultIsQualifiedRequest">
+      	<xsd:complexType>
+      		<xsd:sequence>
+        		<xsd:element name="aStringType" type="xsd:string"
+        			minOccurs="1" maxOccurs="1" form="qualified">
+        		</xsd:element>
+        		<xsd:element name="anIntegerType" type="xsd:integer"
+        			minOccurs="1" maxOccurs="1" form="qualified">
+        		</xsd:element>
+        		<xsd:element name="anIntegerArray" type="xsd:integer"
+        			minOccurs="1" maxOccurs="unbounded" form="qualified">
+        		</xsd:element>
+        		<xsd:element name="anOptionalIntegerType"
+        			type="xsd:integer" minOccurs="0" maxOccurs="1"
+        			form="qualified">
+        		</xsd:element>
+        		<xsd:element name="aNillableIntegerType"
+        			type="xsd:integer" minOccurs="1" maxOccurs="1"
+        			nillable="true" form="qualified">
+        		</xsd:element>
+        		<xsd:element name="SimpleComplexType"
+        			type="tns:QualifiedSimpleComplexType" minOccurs="1"
+        			maxOccurs="1" form="qualified">
+        		</xsd:element>
+        		<xsd:element name="arrayOfSimpleComplexType"
+        			type="tns:QualifiedSimpleComplexType" minOccurs="1"
+        			maxOccurs="unbounded" form="qualified">
+        		</xsd:element>
+        	</xsd:sequence>
+      	</xsd:complexType>
+      </xsd:element>
+		<xsd:element name="nestedElementFormDefaultIsQualifiedResponse">
+			<xsd:complexType>
+				<xsd:sequence>
+					<xsd:element name="ElementFormDefaultIsQualified" type="tns:ElementFormDefaultIsQualified" form="qualified"/>
+				</xsd:sequence>
+			</xsd:complexType>
+		</xsd:element>
+        <xsd:element name="nestedElementFormDefaultIsQualifiedRequest">
+			<xsd:complexType>
+				<xsd:sequence>
+					<xsd:element name="ElementFormDefaultIsQualified" type="tns:ElementFormDefaultIsQualified" form="qualified"/>
+				</xsd:sequence>
+			</xsd:complexType>
+		</xsd:element>
+        <xsd:element name="nestedElementFormDefaultIsUnqualifiedResponse">
+			<xsd:complexType>
+				<xsd:sequence>
+					<xsd:element name="ElementFormDefaultIsUnqualified" type="tns:ElementFormDefaultIsUnqualified" form="unqualified"/>
+				</xsd:sequence>
+			</xsd:complexType>
+		</xsd:element>
+        <xsd:element name="nestedElementFormDefaultIsUnqualifiedRequest">
+			<xsd:complexType>
+				<xsd:sequence>
+					<xsd:element name="ElementFormDefaultIsUnqualified" type="tns:ElementFormDefaultIsUnqualified" form="unqualified"/>
+				</xsd:sequence>
+			</xsd:complexType>
+		</xsd:element>
+        <xsd:complexType name="ElementFormDefaultIsQualified">
+        	<xsd:sequence>
+        		<xsd:element name="aStringType" type="xsd:string"
+        			minOccurs="1" maxOccurs="1" form="qualified">
+        		</xsd:element>
+        		<xsd:element name="anIntegerType" type="xsd:integer"
+        			minOccurs="1" maxOccurs="1" form="qualified">
+        		</xsd:element>
+        		<xsd:element name="anIntegerArray" type="xsd:integer"
+        			minOccurs="1" maxOccurs="unbounded" form="qualified">
+        		</xsd:element>
+        		<xsd:element name="anOptionalIntegerType"
+        			type="xsd:integer" minOccurs="0" maxOccurs="1"
+        			form="qualified">
+        		</xsd:element>
+        		<xsd:element name="aNillableIntegerType"
+        			type="xsd:integer" minOccurs="1" maxOccurs="1"
+        			nillable="true" form="qualified">
+        		</xsd:element>
+        		<xsd:element name="SimpleComplexType"
+        			type="tns:QualifiedSimpleComplexType" minOccurs="1"
+        			maxOccurs="1" form="qualified">
+        		</xsd:element>
+        		<xsd:element name="arrayOfSimpleComplexType"
+        			type="tns:QualifiedSimpleComplexType" minOccurs="1"
+        			maxOccurs="unbounded" form="qualified">
+        		</xsd:element>
+        	</xsd:sequence>
+        </xsd:complexType>
+        <xsd:complexType name="QualifiedSimpleComplexType">
+        	<xsd:sequence>
+        		<xsd:element name="someData" type="xsd:integer"
+        			minOccurs="1" maxOccurs="1" form="qualified" />
+        	</xsd:sequence>
+        </xsd:complexType>
+        <xsd:complexType name="ElementFormDefaultIsUnqualified">
+        	<xsd:sequence>
+        		<xsd:element name="aStringType" type="xsd:string"
+        			minOccurs="1" maxOccurs="1" form="unqualified">
+        		</xsd:element>
+        		<xsd:element name="anIntegerType" type="xsd:integer"
+        			minOccurs="1" maxOccurs="1" form="unqualified">
+        		</xsd:element>
+        		<xsd:element name="anIntegerArray" type="xsd:integer"
+        			minOccurs="1" maxOccurs="unbounded" form="unqualified">
+        		</xsd:element>
+        		<xsd:element name="anOptionalIntegerType"
+        			type="xsd:integer" minOccurs="0" maxOccurs="1"
+        			form="unqualified">
+        		</xsd:element>
+        		<xsd:element name="aNillableIntegerType"
+        			type="xsd:integer" minOccurs="1" maxOccurs="1"
+        			nillable="true" form="unqualified">
+        		</xsd:element>
+        		<xsd:element name="SimpleComplexType"
+        			type="tns:UnqualifiedSimpleComplexType" minOccurs="1"
+        			maxOccurs="1" form="unqualified">
+        		</xsd:element>
+        		<xsd:element name="arrayOfSimpleComplexType"
+        			type="tns:UnqualifiedSimpleComplexType" minOccurs="1"
+        			maxOccurs="unbounded" form="unqualified">
+        		</xsd:element>
+        	</xsd:sequence>
+        </xsd:complexType>
+        <xsd:complexType name="UnqualifiedSimpleComplexType">
+        	<xsd:sequence>
+        		<xsd:element name="someData" type="xsd:integer"
+        			minOccurs="1" maxOccurs="1" form="unqualified" />
+        	</xsd:sequence>
+        </xsd:complexType>
+
+    </xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="elementFormDefaultIsUnqualifiedResponse">
+    <wsdl:part element="tns:elementFormDefaultIsUnqualifiedResponse" name="elementFormDefaultIsUnqualifiedResponse"/>
+  </wsdl:message>
+  <wsdl:message name="elementFormDefaultIsUnqualifiedRequest">
+    <wsdl:part element="tns:elementFormDefaultIsUnqualifiedRequest" name="elementFormDefaultIsUnqualifiedRequest"/>
+  </wsdl:message>
+  <wsdl:message name="elementFormDefaultIsQualifiedResponse">
+  	<wsdl:part name="elementFormDefaultIsQualifiedResponse"
+  		element="tns:elementFormDefaultIsQualifiedResponse">
+  	</wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="elementFormDefaultIsQualifiedRequest">
+  	<wsdl:part name="elementFormDefaultIsQualifiedRequest"
+  		element="tns:elementFormDefaultIsQualifiedRequest">
+  	</wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="nestedElementFormDefaultIsQualifiedResponse">
+  	<wsdl:part name="nestedElementFormDefaultIsQualifiedResponse"
+  		element="tns:nestedElementFormDefaultIsQualifiedResponse">
+  	</wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="nestedElementFormDefaultIsQualifiedRequest">
+  	<wsdl:part name="nestedElementFormDefaultIsQualifiedRequest"
+  		element="tns:nestedElementFormDefaultIsQualifiedRequest">
+  	</wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="nestedElementFormDefaultIsUnqualifiedResponse">
+  	<wsdl:part name="nestedElementFormDefaultIsUnqualifiedResponse"
+  		element="tns:nestedElementFormDefaultIsUnqualifiedResponse">
+  	</wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="nestedElementFormDefaultIsUnqualifiedRequest">
+  	<wsdl:part name="nestedElementFormDefaultIsUnqualifiedRequest"
+  		element="tns:nestedElementFormDefaultIsUnqualifiedRequest">
+  	</wsdl:part>
+  </wsdl:message>
+  <wsdl:portType name="ElementFormDefaultTest">
+    <wsdl:operation name="elementFormDefaultIsUnqualified">
+      <wsdl:input message="tns:elementFormDefaultIsUnqualifiedRequest"/>
+      <wsdl:output message="tns:elementFormDefaultIsUnqualifiedResponse"/>
+    </wsdl:operation>
+    <wsdl:operation name="elementFormDefaultIsQualified">
+    	<wsdl:input
+    		message="tns:elementFormDefaultIsQualifiedRequest">
+    	</wsdl:input>
+    	<wsdl:output
+    		message="tns:elementFormDefaultIsQualifiedResponse">
+    	</wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="nestedElementFormDefaultIsQualified">
+    	<wsdl:input
+    		message="tns:nestedElementFormDefaultIsQualifiedRequest">
+    	</wsdl:input>
+    	<wsdl:output
+    		message="tns:nestedElementFormDefaultIsQualifiedResponse">
+    	</wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="nestedElementFormDefaultIsUnqualified">
+    	<wsdl:input
+    		message="tns:nestedElementFormDefaultIsUnqualifiedRequest">
+    	</wsdl:input>
+    	<wsdl:output
+    		message="tns:nestedElementFormDefaultIsUnqualifiedResponse">
+    	</wsdl:output>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="ElementFormDefaultTestSOAP" type="tns:ElementFormDefaultTest">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="elementFormDefaultIsUnqualified">
+      <soap:operation soapAction="http://tempuri.org/ElementFormDefaultTest/NewOperation"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="elementFormDefaultIsQualified">
+    	<soap:operation style="document"/>
+    	<wsdl:input>
+    		<soap:body use="literal"/>
+    	</wsdl:input>
+    	<wsdl:output>
+    		<soap:body use="literal"/>
+    	</wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="nestedElementFormDefaultIsQualified">
+    	<soap:operation style="document"/>
+    	<wsdl:input>
+    		<soap:body use="literal"/>
+    	</wsdl:input>
+    	<wsdl:output>
+    		<soap:body use="literal"/>
+    	</wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="nestedElementFormDefaultIsUnqualified">
+    	<soap:operation style="document"/>
+    	<wsdl:input>
+    		<soap:body use="literal"/>
+    	</wsdl:input>
+    	<wsdl:output>
+    		<soap:body use="literal"/>
+    	</wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="ElementFormDefaultTest">
+    <wsdl:port binding="tns:ElementFormDefaultTestSOAP" name="ElementFormDefaultTestSOAP">
+      <soap:address location="http://tempuri.org"/>
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>