Author: nadiramra
Date: Tue May 2 22:54:40 2006
New Revision: 399157
URL: http://svn.apache.org/viewcvs?rev=399157&view=rev
Log:
C support fixes/enhancements.
Added:
webservices/axis/trunk/c/tests/auto_build/testcases/client/c/XSD_IDClient.c
webservices/axis/trunk/c/tests/auto_build/testcases/tests/XSD_IDC.xml
Modified:
webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_IDClient.cpp
Added: webservices/axis/trunk/c/tests/auto_build/testcases/client/c/XSD_IDClient.c
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/client/c/XSD_IDClient.c?rev=399157&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/client/c/XSD_IDClient.c (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/client/c/XSD_IDClient.c Tue May 2
22:54:40 2006
@@ -0,0 +1,367 @@
+// 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 <stdlib.h>
+#include <stdio.h>
+
+#include "CommonClientTestCode.h"
+#include "XSD_IDPort.h"
+
+
+int main(int argc, char* argv[])
+{
+ AXISCHANDLE ws = NULL;
+ xsdc__ID result = NULL;
+ xsdc__ID input = NULL;
+
+ RequiredAttributeElement requiredAttributeInput;
+ RequiredAttributeElement* requiredAttributeResult;
+
+ char emptyID[1] = "";
+ char simpleID[25] = "A simple test message!";
+ char reservedCharactersID[] = "<>&\"\'";
+ char whitespaceID[] = " \t\r\nsome text \t\r\nmore text \t\r\n";
+
+ char endpoint[256];
+ const char* url="http://localhost:80/axis/XSD_IDPort";
+
+ axiscAxisRegisterExceptionHandler(exceptionHandler);
+
+ if(argc>1)
+ url = argv[1];
+
+ sprintf(endpoint, "%s", url);
+ ws = get_XSD_IDPort_stub(url);
+
+ // Test non-nillable element
+ input = (xsdc__ID)axiscAxisNew(XSDC_ID,25);
+ strcpy (input, simpleID);
+
+ result = asNonNillableElement(ws, input);
+
+ if (exceptionOccurred == C_TRUE
+ || get_XSD_IDPort_Status(ws) == AXISC_FAIL )
+ printf ("Failed\n");
+
+ if (result)
+ {
+ if (*result)
+ printf("non-nillable element=%s\n", result);
+ else
+ printf("non-nillable element=<empty>\n");
+ }
+ else
+ printf("non-nillable element=<nil>\n");
+
+ axiscAxisDelete(input, XSDC_ID);
+
+ // Test empty non-nillable element
+ input = (xsdc__ID)axiscAxisNew(XSDC_ID, 1);
+ strcpy (input, emptyID);
+ result = asNonNillableElement(ws,input);
+ if (exceptionOccurred == C_TRUE
+ || get_XSD_IDPort_Status(ws) == AXISC_FAIL )
+ printf ("Failed\n");
+
+ if (result)
+ {
+ if (*result)
+ printf("empty non-nillable element=%s\n", result);
+ else
+ printf("empty non-nillable element=<empty>\n");
+ }
+ else
+ printf("empty non-nillable element=<nil>\n");
+
+ axiscAxisDelete(input, XSDC_ID);
+
+ // Test non-nillable element with XML reserved characters
+ input = reservedCharactersID;
+ result = asNonNillableElement(ws,input);
+ if (exceptionOccurred == C_TRUE
+ || get_XSD_IDPort_Status(ws) == AXISC_FAIL )
+ printf ("Failed\n");
+
+ if (result)
+ {
+ if (*result)
+ printf("non-nillable element with XML reserved characters=%s\n", result);
+ else
+ printf("non-nillable element with XML reserved characters=<empty>\n");
+ }
+ else
+ printf("non-nillable element with XML reserved characters=<nil>\n");
+
+ // Test non-nillable element with XML reserved characters
+ input = whitespaceID;
+ result = asNonNillableElement(ws, input);
+ if (exceptionOccurred == C_TRUE
+ || get_XSD_IDPort_Status(ws) == AXISC_FAIL )
+ printf ("Failed\n");
+
+ if (result)
+ {
+ if (*result)
+ printf("non-nillable element with whitespace characters=\"%s\"\n", result);
+ else
+ printf("non-nillable element with whitespace characters=<empty>\n");
+ }
+ else
+ printf("non-nillable element with whitespace characters=<nil>\n");
+
+ // Test nillable element, with a value
+ input = (xsdc__ID)axiscAxisNew(XSDC_ID,25);
+ strcpy (input, simpleID);
+ result = asNillableElement(ws, input);
+ if (exceptionOccurred == C_TRUE
+ || get_XSD_IDPort_Status(ws) == AXISC_FAIL )
+ printf ("Failed\n");
+
+ if (result)
+ {
+ if (*result)
+ printf("nillable element=%s\n", result);
+ else
+ printf("nillable element=<empty>\n");
+ axiscAxisDelete(result, XSDC_ID);
+ }
+ else
+ printf("nillable element=<nil>\n");
+
+ axiscAxisDelete(input, XSDC_ID);
+
+ // Test empty nillable element
+ input = (xsdc__ID)axiscAxisNew(XSDC_ID,1);
+ strcpy (input, emptyID);
+ result = asNillableElement(ws, input);
+ if (exceptionOccurred == C_TRUE
+ || get_XSD_IDPort_Status(ws) == AXISC_FAIL )
+ printf ("Failed\n");
+
+ if (result)
+ {
+ if (*result)
+ printf("empty nillable element=%s\n", result);
+ else
+ printf("empty nillable element=<empty>\n");
+ axiscAxisDelete(result, XSDC_ID);
+ }
+ else
+ printf("empty nillable element=<nil>\n");
+
+ axiscAxisDelete(input, XSDC_ID);
+
+ // Test nillable element, with nil
+ result = asNillableElement(ws, NULL);
+ if (exceptionOccurred == C_TRUE
+ || get_XSD_IDPort_Status(ws) == AXISC_FAIL )
+ printf ("Failed\n");
+
+ if (result)
+ {
+ if (*result)
+ printf("nil element=%s\n", result);
+ else
+ printf("nil element=<empty>\n");
+ axiscAxisDelete(result, XSDC_ID);
+ }
+ else
+ printf("nil element=<nil>\n");
+
+ // Test required attribute
+ input = (xsdc__ID)axiscAxisNew(XSDC_ID,25);
+ strcpy (input, simpleID);
+
+ requiredAttributeInput.requiredAttribute = input;
+ requiredAttributeResult = asRequiredAttribute(ws, &requiredAttributeInput);
+ if (exceptionOccurred == C_TRUE
+ || get_XSD_IDPort_Status(ws) == AXISC_FAIL )
+ printf ("Failed\n");
+
+ if (requiredAttributeResult->requiredAttribute)
+ {
+ if (*(requiredAttributeResult->requiredAttribute))
+ printf("required attribute=%s\n", requiredAttributeResult->requiredAttribute);
+ else
+ printf("required attribute=<empty>\n");
+ }
+ else
+ printf("required attribute=<nil>\n");
+
+ Axis_Delete_RequiredAttributeElement(requiredAttributeResult, 0);
+ axiscAxisDelete(input, XSDC_ID);
+
+
+ // Test empty required attribute
+ input = (xsdc__ID)axiscAxisNew(XSDC_ID,1);
+ strcpy (input, emptyID);
+
+ requiredAttributeInput.requiredAttribute = input;
+ requiredAttributeResult = asRequiredAttribute(ws, &requiredAttributeInput);
+ if (exceptionOccurred == C_TRUE
+ || get_XSD_IDPort_Status(ws) == AXISC_FAIL )
+ printf ("Failed\n");
+
+ if (requiredAttributeResult->requiredAttribute)
+ {
+ if (*(requiredAttributeResult->requiredAttribute))
+ printf("empty required attribute=%s\n", requiredAttributeResult->requiredAttribute);
+ else
+ printf("empty required attribute=<empty>\n");
+ }
+ else
+ printf("empty required attribute=<nil>\n");
+
+ Axis_Delete_RequiredAttributeElement(requiredAttributeResult, 0);
+ axiscAxisDelete(input, XSDC_ID);
+
+/* Optional Attributes currently unsupported by WSDL2Ws
+ * Exact coding of this section may change depending on chosen implementation
+ // Test optional attribute, with a value
+ input = new char[25];
+ strcpy (input, simpleID);
+ OptionalAttributeElement optionalAttributeInput;
+ optionalAttributeInput.setoptionalAttribute(input);
+ OptionalAttributeElement* optionalAttributeResult = ws->asOptionalAttribute(&optionalAttributeInput);
+ if (optionalAttributeResult->getoptionalAttribute())
+ {
+ if (*(optionalAttributeResult->getoptionalAttribute()))
+ printf("optional attribute, with data=" << optionalAttributeResult->getoptionalAttribute()
<< endl;
+ else
+ printf("optional attribute, with data=<empty>\n");
+
+ }
+ else
+ printf("optional attribute, with data=<not present>\n");
+
+ delete [] input;
+ delete optionalAttributeResult;
+
+ // Test empty optional attribute
+ emptyInput = new char[1];
+ strcpy (emptyInput, emptyID);
+ optionalAttributeInput.setoptionalAttribute(emptyInput);
+ optionalAttributeResult = ws->asOptionalAttribute(&optionalAttributeInput);
+ if (optionalAttributeResult->getoptionalAttribute())
+ {
+ if (*(optionalAttributeResult->getoptionalAttribute()))
+ printf("empty optional attribute=" << optionalAttributeResult->getoptionalAttribute()
<< endl;
+ else
+ printf("empty optional attribute=<empty>\n");
+ }
+ else
+ printf("empty optional attribute=<not present>\n");
+ delete [] emptyInput;
+ delete optionalAttributeResult;
+
+ // Test optional attribute, not present
+ // optionalAttributeInput.setattribute();
+ optionalAttributeResult = ws->asOptionalAttribute(&optionalAttributeInput);
+ if (optionalAttributeResult->getoptionalAttribute())
+ {
+ if (*(optionalAttributeResult->getoptionalAttribute()))
+ printf("optional attribute, not present=" << optionalAttributeResult->getoptionalAttribute()
<< endl;
+ else
+ printf("optional attribute, not present=<empty>\n");
+ }
+ else
+ printf("optional attribute, not present=<not present>\n");
+ delete optionalAttributeResult;
+*/
+
+ // Test array
+ {
+#define ARRAY_SIZE 2
+ int i;
+ xsdc__ID_Array arrayInput;
+ xsdc__ID_Array* arrayResult;
+ xsdc__ID array[ARRAY_SIZE];
+ const xsdc__ID * output;
+ int outputSize=0;
+
+ for (i=0 ; i < ARRAY_SIZE; i++)
+ {
+ array[i]= (xsdc__ID)axiscAxisNew(XSDC_ID,25);
+ strcpy (array[i], simpleID);
+ }
+ arrayInput.m_Array = array;
+ arrayInput.m_Size = ARRAY_SIZE;
+ arrayInput.m_Type = XSDC_ID;
+
+ arrayResult = asArray(ws, &arrayInput);
+ if (exceptionOccurred == C_TRUE
+ || get_XSD_IDPort_Status(ws) == AXISC_FAIL )
+ printf ("Failed\n");
+
+ if (arrayResult)
+ {
+ output = arrayResult->m_Array;
+ outputSize = arrayResult->m_Size;
+ }
+
+ printf("array of %d elements\n", outputSize);
+ for (i = 0; i < outputSize; i++)
+ {
+ if (output!=NULL)
+ {
+ if (output[i]!=NULL)
+ printf(" element[%d]=%s\n", i, output[i]);
+ else
+ printf(" element[%d]=<empty>\n");
+ }
+ else
+ printf(" element[%d]=<nil>\n");
+ }
+
+ // Clear up input array
+ for (i = 0 ; i < ARRAY_SIZE; i++ )
+ axiscAxisDelete(array[i], XSDC_ID);
+
+ axiscAxisDelete(arrayResult, XSDC_ARRAY);
+ }
+
+ // Test complex type
+ {
+ SimpleComplexType complexTypeInput;
+ SimpleComplexType* complexTypeResult;
+
+ input = (xsdc__ID)axiscAxisNew(XSDC_ID,25);
+ strcpy (input, simpleID);
+
+ complexTypeInput.complexTypeElement = input;
+ complexTypeResult = asComplexType(ws, &complexTypeInput);
+
+ if (complexTypeResult->complexTypeElement)
+ {
+ if (*(complexTypeResult->complexTypeElement))
+ printf("within complex type=%s\n", complexTypeResult->complexTypeElement);
+ else
+ printf("within complex type=<empty>\n");
+ }
+ else
+ printf("within complex type=<nil>\n");
+
+ axiscAxisDelete(input, XSDC_ID);
+ Axis_Delete_SimpleComplexType(complexTypeResult, 0);
+ }
+
+ // Tests now complete
+
+ destroy_XSD_IDPort_stub(ws);
+
+ printf("---------------------- TEST COMPLETE -----------------------------\n");
+
+ return 0;
+}
Modified: webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_IDClient.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_IDClient.cpp?rev=399157&r1=399156&r2=399157&view=diff
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_IDClient.cpp (original)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_IDClient.cpp Tue May
2 22:54:40 2006
@@ -22,6 +22,14 @@
int main(int argc, char* argv[])
{
+ xsd__ID result = NULL;
+ xsd__ID input = NULL;
+
+ char emptyID[1] = "";
+ char simpleID[25] = "A simple test message!";
+ char reservedCharactersID[] = "<>&\"\'";
+ char whitespaceID[] = " \t\r\nsome text \t\r\nmore text \t\r\n";
+
char endpoint[256];
const char* url="http://localhost:80/axis/XSD_IDPort";
@@ -33,10 +41,6 @@
sprintf(endpoint, "%s", url);
XSD_IDPort* ws = new XSD_IDPort(endpoint);
- char emptyID[1] = "";
- xsd__ID emptyInput = new char[1];
- strcpy (emptyInput, emptyID);
- char simpleID[25] = "A simple test message!";
xsd__ID input = new char[25];
strcpy (input, simpleID);
@@ -45,141 +49,102 @@
if (result)
{
if (*result)
- {
cout << "non-nillable element=" << result << endl;
- }
else
- {
cout << "non-nillable element=<empty>" << endl;
- }
}
else
- {
cout << "non-nillable element=<nil>" << endl;
- }
+
delete [] input;
// Test empty non-nillable element
- result = ws->asNonNillableElement(emptyInput);
+ input = new char[1];
+ strcpy (input, emptyID);
+
+ result = ws->asNonNillableElement(input);
if (result)
{
if (*result)
- {
cout << "empty non-nillable element=" << result << endl;
- }
else
- {
cout << "empty non-nillable element=<empty>" << endl;
- }
}
else
- {
cout << "empty non-nillable element=<nil>" << endl;
- }
- delete [] emptyInput;
+ delete [] input;
// Test non-nillable element with XML reserved characters
- char reservedCharactersID[] = "<>&\"\'";
- xsd__ID reservedCharactersInput = reservedCharactersID;
- result = ws->asNonNillableElement(reservedCharactersInput);
+ input = reservedCharactersID;
+ result = ws->asNonNillableElement(input);
if (result)
{
if (*result)
- {
cout << "non-nillable element with XML reserved characters=" <<
result << endl;
- }
else
- {
cout << "non-nillable element with XML reserved characters=<empty>"
<< endl;
- }
}
else
- {
cout << "non-nillable element with XML reserved characters=<nil>"
<< endl;
- }
// Test non-nillable element with XML reserved characters
- char whitespaceID[] = " \t\r\nsome text \t\r\nmore text \t\r\n";
- xsd__ID whitespaceInput = whitespaceID;
- result = ws->asNonNillableElement(whitespaceInput);
+ input = whitespaceID;
+ result = ws->asNonNillableElement(input);
if (result)
{
if (*result)
- {
cout << "non-nillable element with whitespace characters=\"" <<
result << "\"" << endl;
- }
else
- {
cout << "non-nillable element with whitespace characters=<empty>"
<< endl;
- }
}
else
- {
cout << "non-nillable element with whitespace characters=<nil>" <<
endl;
- }
// Test nillable element, with a value
input = new char[25];
strcpy (input, simpleID);
- xsd__ID nillableResult = ws->asNillableElement(input);
- if (nillableResult)
+ result = ws->asNillableElement(input);
+ if (result)
{
- if (*nillableResult)
- {
- cout << "nillable element=" << nillableResult << endl;
- }
+ if (*result)
+ cout << "nillable element=" << result << endl;
else
- {
cout << "nillable element=<empty>" << endl;
- }
- delete nillableResult;
+
+ delete result;
}
else
- {
cout << "nillable element=<nil>" << endl;
- }
delete [] input;
// Test empty nillable element
- emptyInput = new char[1];
- strcpy (emptyInput, emptyID);
- nillableResult = ws->asNillableElement(emptyInput);
- if (nillableResult)
+ input = new char[1];
+ strcpy (input, emptyID);
+ result = ws->asNillableElement(input);
+ if (result)
{
- if (*nillableResult)
- {
- cout << "empty nillable element=" << nillableResult <<
endl;
- }
+ if (*result)
+ cout << "empty nillable element=" << result << endl;
else
- {
cout << "empty nillable element=<empty>" << endl;
- }
- delete nillableResult;
+ delete result;
}
else
- {
cout << "empty nillable element=<nil>" << endl;
- }
- delete [] emptyInput;
+ delete [] input;
// Test nillable element, with nil
- nillableResult = ws->asNillableElement(NULL);
- if (nillableResult)
+ result = ws->asNillableElement(NULL);
+ if (result)
{
- if (*nillableResult)
- {
- cout << "nil element=" << nillableResult << endl;
- }
+ if (*result)
+ cout << "nil element=" << result << endl;
else
- {
cout << "nil element=<empty>" << endl;
- }
- delete nillableResult;
+ delete result;
}
else
- {
cout << "nil element=<nil>" << endl;
- }
// Test required attribute
input = new char[25];
@@ -190,41 +155,31 @@
if (requiredAttributeResult->getrequiredAttribute())
{
if (*(requiredAttributeResult->getrequiredAttribute()))
- {
cout << "required attribute=" << requiredAttributeResult->getrequiredAttribute()
<< endl;
- }
else
- {
cout << "required attribute=<empty>" << endl;
- }
}
else
- {
cout << "required attribute=<nil>" << endl;
- }
+
delete requiredAttributeResult;
// Test empty required attribute
- emptyInput = new char[1];
- strcpy (emptyInput, emptyID);
- requiredAttributeInput;
- requiredAttributeInput.setrequiredAttribute(emptyInput);
+ input = new char[1];
+ strcpy (input, emptyID);
+
+ requiredAttributeInput.setrequiredAttribute(input);
requiredAttributeResult = ws->asRequiredAttribute(&requiredAttributeInput);
if (requiredAttributeResult->getrequiredAttribute())
{
if (*(requiredAttributeResult->getrequiredAttribute()))
- {
cout << "empty required attribute=" << requiredAttributeResult->getrequiredAttribute()
<< endl;
- }
else
- {
cout << "empty required attribute=<empty>" << endl;
- }
}
else
- {
cout << "empty required attribute=<nil>" << endl;
- }
+
delete requiredAttributeResult;
/* Optional Attributes currently unsupported by WSDL2Ws
@@ -238,42 +193,32 @@
if (optionalAttributeResult->getoptionalAttribute())
{
if (*(optionalAttributeResult->getoptionalAttribute()))
- {
cout << "optional attribute, with data=" << optionalAttributeResult->getoptionalAttribute()
<< endl;
- }
else
- {
cout << "optional attribute, with data=<empty>" << endl;
- }
}
else
- {
cout << "optional attribute, with data=<not present>" << endl;
- }
+
delete [] input;
delete optionalAttributeResult;
// Test empty optional attribute
- emptyInput = new char[1];
- strcpy (emptyInput, emptyID);
- optionalAttributeInput.setoptionalAttribute(emptyInput);
+ input = new char[1];
+ strcpy (input, emptyID);
+ optionalAttributeInput.setoptionalAttribute(input);
optionalAttributeResult = ws->asOptionalAttribute(&optionalAttributeInput);
if (optionalAttributeResult->getoptionalAttribute())
{
if (*(optionalAttributeResult->getoptionalAttribute()))
- {
cout << "empty optional attribute=" << optionalAttributeResult->getoptionalAttribute()
<< endl;
- }
else
- {
cout << "empty optional attribute=<empty>" << endl;
- }
}
else
- {
cout << "empty optional attribute=<not present>" << endl;
- }
- delete [] emptyInput;
+
+ delete [] input;
delete optionalAttributeResult;
// Test optional attribute, not present
@@ -282,27 +227,21 @@
if (optionalAttributeResult->getoptionalAttribute())
{
if (*(optionalAttributeResult->getoptionalAttribute()))
- {
cout << "optional attribute, not present=" << optionalAttributeResult->getoptionalAttribute()
<< endl;
- }
else
- {
cout << "optional attribute, not present=<empty>" << endl;
- }
}
else
- {
cout << "optional attribute, not present=<not present>" <<
endl;
- }
delete optionalAttributeResult;
*/
// Test array
- int arraySize = 2;
+ int arraySize = 2;
xsd__ID_Array arrayInput;
- xsd__ID * array=new xsd__ID[arraySize];
+ xsd__ID * array=new xsd__ID[arraySize];
for (int inputIndex=0 ; inputIndex < arraySize ; inputIndex++)
{
array[inputIndex]= new char[25];
@@ -311,32 +250,25 @@
}
arrayInput.set(array,arraySize);
xsd__ID_Array* arrayResult = ws->asArray(&arrayInput);
- int outputSize=0;
- const xsd__ID * output=arrayResult->get(outputSize);
+ int outputSize=0;
+ const xsd__ID * output=arrayResult->get(outputSize);
cout << "array of " << outputSize << " elements" << endl;
for (int index = 0; index < outputSize ; index++)
{
if (output!=NULL)
{
if (output[index]!=NULL)
- {
cout << " element[" << index << "]=" << output[index]
<< endl;
- }
else
- {
cout << " element[" << index << "]=<empty>"
<< endl;
- }
}
else
- {
cout << " element[" << index << "]=<nil>" <<
endl;
- }
}
// Clear up input array
for (int deleteIndex = 0 ; deleteIndex < arraySize ; deleteIndex++ )
- {
delete array[deleteIndex];
- }
+
delete [] array;
delete arrayResult;
@@ -350,18 +282,13 @@
if (complexTypeResult->getcomplexTypeElement())
{
if (*(complexTypeResult->getcomplexTypeElement()))
- {
cout << "within complex type=" << complexTypeResult->getcomplexTypeElement()
<< endl;
- }
else
- {
cout << "within complex type=<empty>" << endl;
- }
}
else
- {
cout << "within complex type=<nil>" << endl;
- }
+
delete complexTypeResult;
// Tests now complete
Added: webservices/axis/trunk/c/tests/auto_build/testcases/tests/XSD_IDC.xml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/tests/XSD_IDC.xml?rev=399157&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/tests/XSD_IDC.xml (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/tests/XSD_IDC.xml Tue May 2 22:54:40
2006
@@ -0,0 +1,17 @@
+<test>
+ <name>XSD_IDC</name>
+ <description>Test serialization and deserialization of the XSD built-in simple
type ID</description>
+ <clientLang>c</clientLang>
+ <clientCode>XSD_IDClient.c</clientCode>
+ <wsdl>XSD_ID.wsdl</wsdl>
+ <expected>
+ <output>
+ XSD_ID.expected
+ </output>
+ <serverResponse>
+ XSD_ID_ServerResponse.expected
+ </serverResponse>
+ </expected>
+ <endpoint>http://localhost:80/axis/XSD_ID</endpoint>
+</test>
+
|