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 pe...@apache.org on 2005/02/24 22:18:34 UTC

cvs commit: ws-axis/c/tests/auto_build/testcases/wsdls XSDAttribute.wsdl

perryan     2005/02/24 13:18:34

  Added:       c/tests/auto_build/testcases/client/cpp
                        XSDAttributeClient.cpp
               c/tests/auto_build/testcases/output XSDAttribute.expected
               c/tests/auto_build/testcases/tests XSDAttribute.xml
               c/tests/auto_build/testcases/wsdls XSDAttribute.wsdl
  Log:
  New test to test serialization and deserialization of xsd types as attributes
  
  Revision  Changes    Path
  1.1                  ws-axis/c/tests/auto_build/testcases/client/cpp/XSDAttributeClient.cpp
  
  Index: XSDAttributeClient.cpp
  ===================================================================
  
  #include "XSDAttribute.hpp"
  #include <axis/AxisException.hpp>
  #include <ctype.h>
  #include <iostream>
  
  
  int main(int argc, char* argv[])
  {
  	char endpoint[256];
  	const char* url="http://localhost:80/axis/Calculator";
  	char dateTime[50];
  
  	BooleanType* booleanType = new BooleanType();
  	BooleanType* booleanTypeReturn = NULL;
  	ByteType* byteType = new ByteType();
  	ByteType* byteTypeReturn = NULL;
  	UnsignedByteType* unsignedByteType = new UnsignedByteType();
  	UnsignedByteType* unsignedByteTypeReturn = NULL;
  	ShortType* shortType = new ShortType();
  	ShortType* shortTypeReturn = NULL;
  	UnsignedShortType* unsignedShortType = new UnsignedShortType();
  	UnsignedShortType* unsignedShortTypeReturn = NULL;
  	IntType* intType = new IntType();
  	IntType* intTypeReturn = NULL;
  	UnsignedIntType* unsignedIntType = new UnsignedIntType();
  	UnsignedIntType* unsignedIntTypeReturn = NULL;
  	LongType* longType = new LongType();
  	LongType* longTypeReturn = NULL;
  	UnsignedLongType* unsignedLongType = new UnsignedLongType();
  	UnsignedLongType* unsignedLongTypeReturn = NULL;
  	FloatType* floatType = new FloatType();
  	FloatType* floatTypeReturn = NULL;
  	DoubleType* doubleType = new DoubleType();
  	DoubleType* doubleTypeReturn = NULL;
  	StringType* stringType = new StringType();
  	StringType* stringTypeReturn = NULL;
  
  	DateTimeType* dtt = new DateTimeType();
  	DateTimeType* dttReturn = NULL;
  	DateType* dt = new DateType();
  	DateType* dtReturn = NULL;
  	TimeType* tt = new TimeType();
  	TimeType* ttReturn = NULL;
  	IntegerType* integerType = new IntegerType();
  	IntegerType* integerTypeReturn = NULL;
  	DecimalType* decimalType = new DecimalType();
  	DecimalType* decimalTypeReturn = NULL;
  	Base64BinaryType* b64Type = new Base64BinaryType();
  	Base64BinaryType* b64TypeReturn = NULL;
  	HexBinaryType* hexType = new HexBinaryType();
  	HexBinaryType* hexTypeReturn = NULL;
  	QNameType* qnameType = new QNameType();
  	QNameType* qnameTypeReturn = NULL;
  	AnyURIType* anyURI = new AnyURIType();
  	AnyURIType* anyURIReturn = NULL;
  
  	xsd__base64Binary b64Test;
  	xsd__hexBinary hexTest;
  	xsd__unsignedByte* testUB = (xsd__unsignedByte*)"<test><xml>some dod&y string</xml></test>";
  
  	b64Test.__ptr=testUB;
  	b64Test.__size=41;
  	hexTest.__ptr=testUB;
  	hexTest.__size=41;
  
      time_t timeToTest;
      timeToTest = 1100246323;
      xsd__date *temp = gmtime(&timeToTest);
      xsd__date testDate;
      memcpy(&testDate, temp, sizeof(xsd__date));
  
  
  	if(argc>1)
  		url = argv[1];
  
  	try
  	{
  		sprintf(endpoint, "%s", url);
  
  		XSDAttribute* ws = new XSDAttribute(endpoint);
  
  		booleanType->booleanType = (xsd__boolean)0;
  		booleanTypeReturn = ws->getDataBoolean(booleanType);
  		cout << "boolean=" << booleanTypeReturn->booleanType << endl;
  
  		byteType->byteType = (xsd__byte)31;
  		byteTypeReturn = ws->getDataByte(byteType);
  		printf("byte=%d\n", byteTypeReturn->byteType); fflush(stdout);
  
  		unsignedByteType->unsignedByteType = (xsd__unsignedByte)32;
  		unsignedByteTypeReturn = ws->getDataUnsignedByte(unsignedByteType);
  		printf("unsigned byte=%d\n", unsignedByteTypeReturn->unsignedByteType); fflush(stdout);
  
  		shortType->shortType = 7;
  		shortTypeReturn = ws->getDataShort(shortType);
  		cout << "short=" << shortTypeReturn->shortType << endl;
  
  		unsignedShortType->unsignedShortType = (xsd__unsignedShort)14;
  		unsignedShortTypeReturn = ws->getDataUnsignedShort(unsignedShortType);
  		cout << "unsigned short=" << unsignedShortTypeReturn->unsignedShortType << endl;
  
  		intType->intType = (xsd__int)21;
  		intTypeReturn = ws->getDataInt(intType);
  		cout << "int=" << intTypeReturn->intType << endl;
  
  		unsignedIntType->unsignedIntType = (xsd__unsignedInt)28;
  		unsignedIntTypeReturn = ws->getDataUnsignedInt(unsignedIntType);
  		cout << "unsigned int=" << unsignedIntTypeReturn->unsignedIntType << endl;
  
  		longType->longType = (xsd__long)35;
  		longTypeReturn = ws->getDataLong(longType);
  		cout << "long=" << longTypeReturn->longType << endl;
  
  		unsignedLongType->unsignedLongType = (xsd__unsignedLong)42;
  		unsignedLongTypeReturn = ws->getDataUnsignedLong(unsignedLongType);
  		cout << "unsigned long=" << unsignedLongTypeReturn->unsignedLongType << endl;
  
  		floatType->floatType = (xsd__float)70.3535888888;
  		floatTypeReturn = ws->getDataFloat(floatType);
  		printf("float=%.5f\n", floatTypeReturn->floatType); fflush(stdout);
  
  		doubleType->doubleType = (xsd__double)140.7175888888;
  		doubleTypeReturn = ws->getDataDouble(doubleType);
  		printf("double=%.5f\n", doubleTypeReturn->doubleType); fflush(stdout);
  
  		stringType->stringType = (xsd__string) "never odd or even";
  		stringTypeReturn = ws->getDataString(stringType);
  		cout << "string=" << stringTypeReturn->stringType << endl;
  
  		integerType->integerType = (xsd__integer) 919191919;
  		integerTypeReturn = ws->getDataInteger(integerType);
  		cout << "integer=" << integerTypeReturn->integerType << endl;
  
  		decimalType->decimalType = (xsd__decimal)929292929.5555555555555;
  		decimalTypeReturn = ws->getDataDecimal(decimalType);
  		printf("decimal=%.5f\n", decimalTypeReturn->decimalType); fflush(stdout);
  
  		dtt->dateTimeType = testDate;
  		dttReturn = ws->getDataDateTime(dtt);
  		strftime(dateTime, 50, "%a %b %d %H:%M:%S %Y", &dttReturn->dateTimeType);
  		cout << "dateTime=" << dateTime << endl;
  
  /* Awaiting Server side implementation
  		dt->dateType = testDate;
  		dtReturn = ws->getDataDate(dt);
  		strftime(dateTime, 50, "%a %b %d %Y", &dtReturn->dateType);
  		cout << "date=" << dateTime << endl;
  
  		tt->timeType = testDate;
  		ttReturn = ws->getDataTime(tt);
  		strftime(dateTime, 50, "%a %b %d %H:%M:%S %Y", &ttReturn->timeType);
  		cout << "time=" << dateTime << endl;
  
  		b64Type->base64BinaryType = b64Test;
  		b64TypeReturn = ws->getDataBase64Binary(b64Type);
  		cout << "base64Binary size=" << b64TypeReturn->base64BinaryType.__size << endl;
  		if( b64TypeReturn->base64BinaryType.__size > 0)
  		{
  			cout << "base64Binary data=" << b64TypeReturn->base64BinaryType.__ptr << endl;
  		}
  
  		hexType->hexBinaryType = hexTest;
  		hexTypeReturn = ws->getDataHexBinary(hexType);
  		cout << "hexBinary size=" << hexTypeReturn->hexBinaryType.__size << endl;
  		if( hexTypeReturn->hexBinaryType.__size > 0)
  		{
  			cout << "hexBinary data=" << hexTypeReturn->hexBinaryType.__ptr << endl;
  		}
  */
  
  	}
  	catch(AxisException& e)
  	{
  	    cout << "Exception : " << e.what() << endl;
  	}
  	catch(exception& e)
  	{
  	    cout << "Unknown exception has occured" << endl;
  	}
  	catch(...)
  	{
  	    cout << "Unknown exception has occured" << endl;
  	}
    cout<< "---------------------- TEST COMPLETE -----------------------------"<< endl;
  	
  	return 0;
  }
  
  
  
  
  1.1                  ws-axis/c/tests/auto_build/testcases/output/XSDAttribute.expected
  
  Index: XSDAttribute.expected
  ===================================================================
  boolean=0
  byte=31
  unsigned byte=32
  short=7
  unsigned short=14
  int=21
  unsigned int=28
  long=35
  unsigned long=42
  float=70.35359
  double=140.71759
  string=never odd or even
  integer=919191919
  decimal=929292929.55556
  dateTime=Fri Nov 12 07:58:43 2004
  ---------------------- TEST COMPLETE -----------------------------
  
  
  
  1.1                  ws-axis/c/tests/auto_build/testcases/tests/XSDAttribute.xml
  
  Index: XSDAttribute.xml
  ===================================================================
  <test>
      <name>XSDAttribute</name>
      <description>Test sending and receiving all the xsd types as an attribute</description>
      <clientLang>cpp</clientLang>
      <clientCode>XSDAttributeClient.cpp</clientCode>
      <wsdl>XSDAttribute.wsdl</wsdl>
      <expected>
          <output>
              XSDAttribute.expected
          </output>
      </expected>
  	<endpoint>http://localhost:80/XSDAttribute/services/XSDAttribute</endpoint>
  </test>
  
  
  
  1.1                  ws-axis/c/tests/auto_build/testcases/wsdls/XSDAttribute.wsdl
  
  Index: XSDAttribute.wsdl
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <wsdl:definitions targetNamespace="http://xsdattribute.test.apache.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://xsdattribute.test.apache.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 elementFormDefault="qualified" targetNamespace="http://xsdattribute.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://xsdattribute.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  	
  			<!-- ############################################ -->
  			<!-- Define the operation elements and data types -->
  			<!-- ############################################ -->
  
  			<!-- test boolean as attribute -->
  			<xsd:element name="getDataBoolean">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeBoolean" maxOccurs="1" minOccurs="0" type="impl:BooleanType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataBooleanResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeBoolean" maxOccurs="1" minOccurs="0" type="impl:BooleanType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="BooleanType">
  				<xsd:attribute name="booleanType" type="xsd:boolean"/> 
  			</xsd:complexType>
  
  			<!-- test byte as attribute -->
  			<xsd:element name="getDataByte">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeByte" maxOccurs="1" minOccurs="0" type="impl:ByteType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataByteResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeByte" maxOccurs="1" minOccurs="0" type="impl:ByteType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="ByteType">
  				<xsd:attribute name="byteType" type="xsd:byte"/> 
  			</xsd:complexType>
  
  			<!-- test unsigned_byte as attribute -->
  			<xsd:element name="getDataUnsignedByte">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeUnsignedByte" maxOccurs="1" minOccurs="0" type="impl:UnsignedByteType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataUnsignedByteResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeUnsignedByte" maxOccurs="1" minOccurs="0" type="impl:UnsignedByteType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="UnsignedByteType">
  				<xsd:attribute name="unsignedByteType" type="xsd:unsignedByte"/> 
  			</xsd:complexType>
  
  			<!-- test short as attribute -->
  			<xsd:element name="getDataShort">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeShort" maxOccurs="1" minOccurs="0" type="impl:ShortType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataShortResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeShort" maxOccurs="1" minOccurs="0" type="impl:ShortType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="ShortType">
  				<xsd:attribute name="shortType" type="xsd:short"/> 
  			</xsd:complexType>
  
  			<!-- test unsigned_short as attribute -->
  			<xsd:element name="getDataUnsignedShort">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeUnsignedShort" maxOccurs="1" minOccurs="0" type="impl:UnsignedShortType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataUnsignedShortResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeUnsignedShort" maxOccurs="1" minOccurs="0" type="impl:UnsignedShortType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="UnsignedShortType">
  				<xsd:attribute name="unsignedShortType" type="xsd:unsignedShort"/> 
  			</xsd:complexType>
  
  			<!-- test int as attribute -->
  			<xsd:element name="getDataInt">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeInt" maxOccurs="1" minOccurs="0" type="impl:IntType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataIntResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeInt" maxOccurs="1" minOccurs="0" type="impl:IntType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="IntType">
  				<xsd:attribute name="intType" type="xsd:int"/> 
  			</xsd:complexType>
  
  			<!-- test unsigned_int as attribute -->
  			<xsd:element name="getDataUnsignedInt">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeUnsignedInt" maxOccurs="1" minOccurs="0" type="impl:UnsignedIntType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataUnsignedIntResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeUnsignedInt" maxOccurs="1" minOccurs="0" type="impl:UnsignedIntType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="UnsignedIntType">
  				<xsd:attribute name="unsignedIntType" type="xsd:unsignedInt"/> 
  			</xsd:complexType>
  
  			<!-- test long as attribute -->
  			<xsd:element name="getDataLong">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeLong" maxOccurs="1" minOccurs="0" type="impl:LongType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataLongResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeLong" maxOccurs="1" minOccurs="0" type="impl:LongType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="LongType">
  				<xsd:attribute name="longType" type="xsd:long"/> 
  			</xsd:complexType>
  		
  			<!-- test unsigned_long as attribute -->
  			<xsd:element name="getDataUnsignedLong">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeUnsignedLong" maxOccurs="1" minOccurs="0" type="impl:UnsignedLongType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataUnsignedLongResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeUnsignedLong" maxOccurs="1" minOccurs="0" type="impl:UnsignedLongType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="UnsignedLongType">
  				<xsd:attribute name="unsignedLongType" type="xsd:unsignedLong"/> 
  			</xsd:complexType>
  
  			<!-- test float as attribute -->
  			<xsd:element name="getDataFloat">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeFloat" maxOccurs="1" minOccurs="0" type="impl:FloatType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataFloatResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeFloat" maxOccurs="1" minOccurs="0" type="impl:FloatType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="FloatType">
  				<xsd:attribute name="floatType" type="xsd:float"/> 
  			</xsd:complexType>
  
  			<!-- test double as attribute -->
  			<xsd:element name="getDataDouble">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeDouble" maxOccurs="1" minOccurs="0" type="impl:DoubleType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataDoubleResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeDouble" maxOccurs="1" minOccurs="0" type="impl:DoubleType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="DoubleType">
  				<xsd:attribute name="doubleType" type="xsd:double"/> 
  			</xsd:complexType>
  
  			<!-- test string as attribute -->
  			<xsd:element name="getDataString">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeString" maxOccurs="1" minOccurs="0" type="impl:StringType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataStringResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeString" maxOccurs="1" minOccurs="0" type="impl:StringType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="StringType">
  				<xsd:attribute name="stringType" type="xsd:string"/> 
  			</xsd:complexType>
  
  			<!-- test date as attribute -->
  			<xsd:element name="getDataDate">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeDate" maxOccurs="1" minOccurs="0" type="impl:DateType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataDateResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeDate" maxOccurs="1" minOccurs="0" type="impl:DateType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="DateType">
  				<xsd:attribute name="dateType" type="xsd:date"/> 
  			</xsd:complexType>
  
  			<!-- test dateTime as attribute -->
  			<xsd:element name="getDataDateTime">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeDateTime" maxOccurs="1" minOccurs="0" type="impl:DateTimeType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataDateTimeResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeDateTime" maxOccurs="1" minOccurs="0" type="impl:DateTimeType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="DateTimeType">
  				<xsd:attribute name="dateTimeType" type="xsd:dateTime"/> 
  			</xsd:complexType>
  
  			<!-- test time as attribute -->
  			<xsd:element name="getDataTime">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeTime" maxOccurs="1" minOccurs="0" type="impl:TimeType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataTimeResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeTime" maxOccurs="1" minOccurs="0" type="impl:TimeType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="TimeType">
  				<xsd:attribute name="timeType" type="xsd:time"/> 
  			</xsd:complexType>
  
  
  			<!-- test duration as attribute -->
  <!--
  			<xsd:element name="getDataDuration">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeDuration" maxOccurs="1" minOccurs="0" type="impl:DurationType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataDurationResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeDuration" maxOccurs="1" minOccurs="0" type="impl:DurationType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="DurationType">
  				<xsd:attribute name="durationType" type="xsd:duration"/> 
  			</xsd:complexType>
  -->
  
  			<!-- test base64Binary as attribute -->
  			<xsd:element name="getDataBase64Binary">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeBase64Binary" maxOccurs="1" minOccurs="0" type="impl:Base64BinaryType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataBase64BinaryResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeBase64Binary" maxOccurs="1" minOccurs="0" type="impl:Base64BinaryType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="Base64BinaryType">
  				<xsd:attribute name="base64BinaryType" type="xsd:base64Binary"/> 
  			</xsd:complexType>
  
  			<!-- test hexBinary as attribute -->
  			<xsd:element name="getDataHexBinary">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeHexBinary" maxOccurs="1" minOccurs="0" type="impl:HexBinaryType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataHexBinaryResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeHexBinary" maxOccurs="1" minOccurs="0" type="impl:HexBinaryType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="HexBinaryType">
  				<xsd:attribute name="hexBinaryType" type="xsd:hexBinary"/> 
  			</xsd:complexType>
  
  			<!-- test integer as attribute -->
  			<xsd:element name="getDataInteger">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeInteger" maxOccurs="1" minOccurs="0" type="impl:IntegerType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataIntegerResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeInteger" maxOccurs="1" minOccurs="0" type="impl:IntegerType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="IntegerType">
  				<xsd:attribute name="integerType" type="xsd:integer"/> 
  			</xsd:complexType>
  
  			<!-- test decimal as attribute -->
  			<xsd:element name="getDataDecimal">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeDecimal" maxOccurs="1" minOccurs="0" type="impl:DecimalType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataDecimalResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeDecimal" maxOccurs="1" minOccurs="0" type="impl:DecimalType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="DecimalType">
  				<xsd:attribute name="decimalType" type="xsd:decimal"/> 
  			</xsd:complexType>
  
  			<!-- test QName as attribute -->
  			<xsd:element name="getDataQName">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeQName" maxOccurs="1" minOccurs="0" type="impl:QNameType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataQNameResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeQName" maxOccurs="1" minOccurs="0" type="impl:QNameType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="QNameType">
  				<xsd:attribute name="qnameType" type="xsd:QName"/> 
  			</xsd:complexType>
  
  			<!-- test anyURI as attribute -->
  			<xsd:element name="getDataAnyURI">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeAnyURI" maxOccurs="1" minOccurs="0" type="impl:AnyURIType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>
  			<xsd:element name="getDataAnyURIResponse">
  				<xsd:complexType>
  					<xsd:sequence>
  						<xsd:element name="TypeAnyURI" maxOccurs="1" minOccurs="0" type="impl:AnyURIType" />
  					</xsd:sequence>
  				</xsd:complexType>
  			</xsd:element>			
  			<xsd:complexType name="AnyURIType">
  				<xsd:attribute name="anyURIType" type="xsd:anyURI"/> 
  			</xsd:complexType>
  
  		</schema>
  	
  	</wsdl:types>
  
  
  	<!-- ############################################ -->
  	<!-- Define the message elements and data types	-->
  	<!-- ############################################ -->
  
  	<!-- test boolean as attribute -->
  	<wsdl:message name="getDataBooleanRequest">
  		<wsdl:part element="impl:getDataBoolean" name="gdboolean"/>
  	</wsdl:message>
  	<wsdl:message name="getDataBooleanResponse">
  		<wsdl:part element="impl:getDataBooleanResponse" name="gdbooleanr"/>
  	</wsdl:message>
  
  	<!-- test byte as attribute -->
  	<wsdl:message name="getDataByteRequest">
  		<wsdl:part element="impl:getDataByte" name="gdbyte"/>
  	</wsdl:message>
  	<wsdl:message name="getDataByteResponse">
  		<wsdl:part element="impl:getDataByteResponse" name="gdbyter"/>
  	</wsdl:message>
  
  	<!-- test unsigned_byte as attribute -->
  	<wsdl:message name="getDataUnsignedByteRequest">
  		<wsdl:part element="impl:getDataUnsignedByte" name="gdubyte"/>
  	</wsdl:message>
  	<wsdl:message name="getDataUnsignedByteResponse">
  		<wsdl:part element="impl:getDataUnsignedByteResponse" name="gdubyter"/>
  	</wsdl:message>
  
  	<!-- test short as attribute -->
  	<wsdl:message name="getDataShortRequest">
  		<wsdl:part element="impl:getDataShort" name="gdshort"/>
  	</wsdl:message>
  	<wsdl:message name="getDataShortResponse">
  		<wsdl:part element="impl:getDataShortResponse" name="gdshortr"/>
  	</wsdl:message>
  
  	<!-- test unsigned_short as attribute -->
  	<wsdl:message name="getDataUnsignedShortRequest">
  		<wsdl:part element="impl:getDataUnsignedShort" name="gdushort"/>
  	</wsdl:message>
  	<wsdl:message name="getDataUnsignedShortResponse">
  		<wsdl:part element="impl:getDataUnsignedShortResponse" name="gdushortr"/>
  	</wsdl:message>
  
  	<!-- test int as attribute -->
  	<wsdl:message name="getDataIntRequest">
  		<wsdl:part element="impl:getDataInt" name="gdint"/>
  	</wsdl:message>
  	<wsdl:message name="getDataIntResponse">
  		<wsdl:part element="impl:getDataIntResponse" name="gdintr"/>
  	</wsdl:message>
  
  	<!-- test unsigned_int as attribute -->
  	<wsdl:message name="getDataUnsignedIntRequest">
  		<wsdl:part element="impl:getDataUnsignedInt" name="gduint"/>
  	</wsdl:message>
  	<wsdl:message name="getDataUnsignedIntResponse">
  		<wsdl:part element="impl:getDataUnsignedIntResponse" name="gduintr"/>
  	</wsdl:message>
  
  	<!-- test long as attribute -->
  	<wsdl:message name="getDataLongRequest">
  		<wsdl:part element="impl:getDataLong" name="gdlong"/>
  	</wsdl:message>
  	<wsdl:message name="getDataLongResponse">
  		<wsdl:part element="impl:getDataLongResponse" name="gdlongr"/>
  	</wsdl:message>
  
  	<!-- test unsigned_long as attribute -->
  	<wsdl:message name="getDataUnsignedLongRequest">
  		<wsdl:part element="impl:getDataUnsignedLong" name="gdulong"/>
  	</wsdl:message>
  	<wsdl:message name="getDataUnsignedLongResponse">
  		<wsdl:part element="impl:getDataUnsignedLongResponse" name="gdulongr"/>
  	</wsdl:message>
  
  	<!-- test float as attribute -->
  	<wsdl:message name="getDataFloatRequest">
  		<wsdl:part element="impl:getDataFloat" name="gdfloat"/>
  	</wsdl:message>
  	<wsdl:message name="getDataFloatResponse">
  		<wsdl:part element="impl:getDataFloatResponse" name="gdfloatr"/>
  	</wsdl:message>
  
  	<!-- test double as attribute -->
  	<wsdl:message name="getDataDoubleRequest">
  		<wsdl:part element="impl:getDataDouble" name="gddouble"/>
  	</wsdl:message>
  	<wsdl:message name="getDataDoubleResponse">
  		<wsdl:part element="impl:getDataDoubleResponse" name="gddoubler"/>
  	</wsdl:message>
  
  	<!-- test string as attribute -->
  	<wsdl:message name="getDataStringRequest">
  		<wsdl:part element="impl:getDataString" name="gdstring"/>
  	</wsdl:message>
  	<wsdl:message name="getDataStringResponse">
  		<wsdl:part element="impl:getDataStringResponse" name="gdstringr"/>
  	</wsdl:message>
  
  	<!-- test date as attribute -->
  	<wsdl:message name="getDataDateRequest">
  		<wsdl:part element="impl:getDataDate" name="gddate"/>
  	</wsdl:message>
  	<wsdl:message name="getDataDateResponse">
  		<wsdl:part element="impl:getDataDateResponse" name="gddater"/>
  	</wsdl:message>
  
  	<!-- test dateTime as attribute -->
  	<wsdl:message name="getDataDateTimeRequest">
  		<wsdl:part element="impl:getDataDateTime" name="gddatetime"/>
  	</wsdl:message>
  	<wsdl:message name="getDataDateTimeResponse">
  		<wsdl:part element="impl:getDataDateTimeResponse" name="gddatetimer"/>
  	</wsdl:message>
  
  	<!-- test time as attribute -->
  	<wsdl:message name="getDataTimeRequest">
  		<wsdl:part element="impl:getDataTime" name="gdtime"/>
  	</wsdl:message>
  	<wsdl:message name="getDataTimeResponse">
  		<wsdl:part element="impl:getDataTimeResponse" name="gdtimer"/>
  	</wsdl:message>
  
  	<!-- test duration as attribute -->
  <!--
  	<wsdl:message name="getDataDurationRequest">
  		<wsdl:part element="impl:getDataDuration" name="gdduration"/>
  	</wsdl:message>
  	<wsdl:message name="getDataDurationResponse">
  		<wsdl:part element="impl:getDataDurationResponse" name="gddurationr"/>
  	</wsdl:message>
  -->
  
  	<!-- test base64Binary as attribute -->
  	<wsdl:message name="getDataBase64BinaryRequest">
  		<wsdl:part element="impl:getDataBase64Binary" name="gdbase64binary"/>
  	</wsdl:message>
  	<wsdl:message name="getDataBase64BinaryResponse">
  		<wsdl:part element="impl:getDataBase64BinaryResponse" name="gdbase64binaryr"/>
  	</wsdl:message>
  
  	<!-- test hexBinary as attribute -->
  	<wsdl:message name="getDataHexBinaryRequest">
  		<wsdl:part element="impl:getDataHexBinary" name="gdhexbinary"/>
  	</wsdl:message>
  	<wsdl:message name="getDataHexBinaryResponse">
  		<wsdl:part element="impl:getDataHexBinaryResponse" name="gdbhexbinaryr"/>
  	</wsdl:message>
  
  	<!-- test integer as attribute -->
  	<wsdl:message name="getDataIntegerRequest">
  		<wsdl:part element="impl:getDataInteger" name="gdinteger"/>
  	</wsdl:message>
  	<wsdl:message name="getDataIntegerResponse">
  		<wsdl:part element="impl:getDataIntegerResponse" name="gdintegerr"/>
  	</wsdl:message>
  
  	<!-- test decimal as attribute -->
  	<wsdl:message name="getDataDecimalRequest">
  		<wsdl:part element="impl:getDataDecimal" name="gddecimal"/>
  	</wsdl:message>
  	<wsdl:message name="getDataDecimalResponse">
  		<wsdl:part element="impl:getDataDecimalResponse" name="gddecimalr"/>
  	</wsdl:message>
  
  	<!-- test QName as attribute -->
  	<wsdl:message name="getDataQNameRequest">
  		<wsdl:part element="impl:getDataQName" name="gdqname"/>
  	</wsdl:message>
  	<wsdl:message name="getDataQNameResponse">
  		<wsdl:part element="impl:getDataQNameResponse" name="gdqnamer"/>
  	</wsdl:message>
  
  	<!-- test anyURI as attribute -->
  	<wsdl:message name="getDataAnyURIRequest">
  		<wsdl:part element="impl:getDataAnyURI" name="gdanyuri"/>
  	</wsdl:message>
  	<wsdl:message name="getDataAnyURIResponse">
  		<wsdl:part element="impl:getDataAnyURIResponse" name="gdanyurir"/>
  	</wsdl:message>
  
  
  	<!-- ############################################ -->
  	<!-- Define the operations and messages			  -->
  	<!-- ############################################ -->
  
  	<wsdl:portType name="XSDAttribute">
  
  		<!-- test boolean as attribute -->
  		<wsdl:operation name="getDataBoolean">
  			<wsdl:input message="impl:getDataBooleanRequest" name="getDataBooleanRequest"/>
  			<wsdl:output message="impl:getDataBooleanResponse" name="getDataBooleanResponse"/>
  		</wsdl:operation>
  
  		<!-- test byte as attribute -->
  		<wsdl:operation name="getDataByte">
  			<wsdl:input message="impl:getDataByteRequest" name="getDataByteRequest"/>
  			<wsdl:output message="impl:getDataByteResponse" name="getDataByteResponse"/>
  		</wsdl:operation>
  
  		<!-- test unsigned_byte as attribute -->
  		<wsdl:operation name="getDataUnsignedByte">
  			<wsdl:input message="impl:getDataUnsignedByteRequest" name="getDataUnsignedByteRequest"/>
  			<wsdl:output message="impl:getDataUnsignedByteResponse" name="getDataUnsignedByteResponse"/>
  		</wsdl:operation>
  
  		<!-- test short as attribute -->
  		<wsdl:operation name="getDataShort">
  			<wsdl:input message="impl:getDataShortRequest" name="getDataShortRequest"/>
  			<wsdl:output message="impl:getDataShortResponse" name="getDataShortResponse"/>
  		</wsdl:operation>
  
  		<!-- test unsigned_short as attribute -->
  		<wsdl:operation name="getDataUnsignedShort">
  			<wsdl:input message="impl:getDataUnsignedShortRequest" name="getDataUnsignedShortRequest"/>
  			<wsdl:output message="impl:getDataUnsignedShortResponse" name="getDataUnsignedShortResponse"/>
  		</wsdl:operation>
  
  		<!-- test int as attribute -->
  		<wsdl:operation name="getDataInt">
  			<wsdl:input message="impl:getDataIntRequest" name="getDataIntRequest"/>
  			<wsdl:output message="impl:getDataIntResponse" name="getDataIntResponse"/>
  		</wsdl:operation>
  
  		<!-- test unsigned_int as attribute -->
  		<wsdl:operation name="getDataUnsignedInt">
  			<wsdl:input message="impl:getDataUnsignedIntRequest" name="getDataUnsignedIntRequest"/>
  			<wsdl:output message="impl:getDataUnsignedIntResponse" name="getDataUnsignedIntResponse"/>
  		</wsdl:operation>
  
  		<!-- test long as attribute -->
  		<wsdl:operation name="getDataLong">
  			<wsdl:input message="impl:getDataLongRequest" name="getDataLongRequest"/>
  			<wsdl:output message="impl:getDataLongResponse" name="getDataLongResponse"/>
  		</wsdl:operation>
  
  		<!-- test unsigned_long as attribute -->
  		<wsdl:operation name="getDataUnsignedLong">
  			<wsdl:input message="impl:getDataUnsignedLongRequest" name="getDataUnsignedLongRequest"/>
  			<wsdl:output message="impl:getDataUnsignedLongResponse" name="getDataUnsignedLongResponse"/>
  		</wsdl:operation>
  
  		<!-- test float as attribute -->
  		<wsdl:operation name="getDataFloat">
  			<wsdl:input message="impl:getDataFloatRequest" name="getDataFloatRequest"/>
  			<wsdl:output message="impl:getDataFloatResponse" name="getDataFloatResponse"/>
  		</wsdl:operation>
  
  		<!-- test double as attribute -->
  		<wsdl:operation name="getDataDouble">
  			<wsdl:input message="impl:getDataDoubleRequest" name="getDataDoubleRequest"/>
  			<wsdl:output message="impl:getDataDoubleResponse" name="getDataDoubleResponse"/>
  		</wsdl:operation>
  
  		<!-- test string as attribute -->
  		<wsdl:operation name="getDataString">
  			<wsdl:input message="impl:getDataStringRequest" name="getDataStringRequest"/>
  			<wsdl:output message="impl:getDataStringResponse" name="getDataStringResponse"/>
  		</wsdl:operation>
  
  		<!-- test date as attribute -->
  		<wsdl:operation name="getDataDate">
  			<wsdl:input message="impl:getDataDateRequest" name="getDataDateRequest"/>
  			<wsdl:output message="impl:getDataDateResponse" name="getDataDateResponse"/>
  		</wsdl:operation>
  
  		<!-- test dateTime as attribute -->
  		<wsdl:operation name="getDataDateTime">
  			<wsdl:input message="impl:getDataDateTimeRequest" name="getDataDateTimeRequest"/>
  			<wsdl:output message="impl:getDataDateTimeResponse" name="getDataDateTimeResponse"/>
  		</wsdl:operation>
  
  		<!-- test time as attribute -->
  		<wsdl:operation name="getDataTime">
  			<wsdl:input message="impl:getDataTimeRequest" name="getDataTimeRequest"/>
  			<wsdl:output message="impl:getDataTimeResponse" name="getDataTimeResponse"/>
  		</wsdl:operation>
  
  		<!-- test duration as attribute -->
  <!--
  		<wsdl:operation name="getDataDuration">
  			<wsdl:input message="impl:getDataDurationRequest" name="getDataDurationRequest"/>
  			<wsdl:output message="impl:getDataDurationResponse" name="getDataDurationResponse"/>
  		</wsdl:operation>
  -->
  
  		<!-- test base64Binary as attribute -->
  		<wsdl:operation name="getDataBase64Binary">
  			<wsdl:input message="impl:getDataBase64BinaryRequest" name="getDataBase64BinaryRequest"/>
  			<wsdl:output message="impl:getDataBase64BinaryResponse" name="getDataBase64BinaryResponse"/>
  		</wsdl:operation>
  
  		<!-- test hexBinary as attribute -->
  		<wsdl:operation name="getDataHexBinary">
  			<wsdl:input message="impl:getDataHexBinaryRequest" name="getDataHexBinaryRequest"/>
  			<wsdl:output message="impl:getDataHexBinaryResponse" name="getDataHexBinaryResponse"/>
  		</wsdl:operation>
  
  		<!-- test integer as attribute -->
  		<wsdl:operation name="getDataInteger">
  			<wsdl:input message="impl:getDataIntegerRequest" name="getDataIntegerRequest"/>
  			<wsdl:output message="impl:getDataIntegerResponse" name="getDataIntegerResponse"/>
  		</wsdl:operation>
  
  		<!-- test decimal as attribute -->
  		<wsdl:operation name="getDataDecimal">
  			<wsdl:input message="impl:getDataDecimalRequest" name="getDataDecimalRequest"/>
  			<wsdl:output message="impl:getDataDecimalResponse" name="getDataDecimalResponse"/>
  		</wsdl:operation>
  
  		<!-- test QName as attribute -->
  		<wsdl:operation name="getDataQName">
  			<wsdl:input message="impl:getDataQNameRequest" name="getDataQNameRequest"/>
  			<wsdl:output message="impl:getDataQNameResponse" name="getDataQNameResponse"/>
  		</wsdl:operation>
  
  		<!-- test anyURI as attribute -->
  		<wsdl:operation name="getDataAnyURI">
  			<wsdl:input message="impl:getDataAnyURIRequest" name="getDataAnyURIRequest"/>
  			<wsdl:output message="impl:getDataAnyURIResponse" name="getDataAnyURIResponse"/>
  		</wsdl:operation>
  
  	</wsdl:portType>
  
  
  
  	<!-- ############################################ -->
  	<!-- Define the operation bindings					 -->
  	<!-- ############################################ -->
  
  	<wsdl:binding name="XSDAttributeSoapBinding" type="impl:XSDAttribute">
  
  		<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
  
  		<!-- test boolean as attribute -->
  		<wsdl:operation name="getDataBoolean">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataBooleanRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataBooleanResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test byte as attribute -->
  		<wsdl:operation name="getDataByte">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataByteRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataByteResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test unsigned_byte as attribute -->
  		<wsdl:operation name="getDataUnsignedByte">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataUnsignedByteRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataUnsignedByteResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test short as attribute -->
  		<wsdl:operation name="getDataShort">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataShortRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataShortResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test unsigned_short as attribute -->
  		<wsdl:operation name="getDataUnsignedShort">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataUnsignedShortRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataUnsignedShortResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test int as attribute -->
  		<wsdl:operation name="getDataInt">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataIntRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataIntResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test unsigned_int as attribute -->
  		<wsdl:operation name="getDataUnsignedInt">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataUnsignedIntRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataUnsignedIntResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test long as attribute -->
  		<wsdl:operation name="getDataLong">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataLongRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataLongResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test unsigned_long as attribute -->
  		<wsdl:operation name="getDataUnsignedLong">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataUnsignedLongRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataUnsignedLongResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test float as attribute -->
  		<wsdl:operation name="getDataFloat">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataFloatRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataFloatResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test double as attribute -->
  		<wsdl:operation name="getDataDouble">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataDoubleRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataDoubleResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test string as attribute -->
  		<wsdl:operation name="getDataString">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataStringRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataStringResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test date as attribute -->
  		<wsdl:operation name="getDataDate">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataDateRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataDateResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test dateTime as attribute -->
  		<wsdl:operation name="getDataDateTime">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataDateTimeRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataDateTimeResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test time as attribute -->
  		<wsdl:operation name="getDataTime">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataTimeRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataTimeResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test duration as attribute -->
  <!--
  		<wsdl:operation name="getDataDuration">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataDurationRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataDurationResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  -->
  
  		<!-- test base64Binary as attribute -->
  		<wsdl:operation name="getDataBase64Binary">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataBase64BinaryRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataBase64BinaryResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test hexBinary as attribute -->
  		<wsdl:operation name="getDataHexBinary">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataHexBinaryRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataHexBinaryResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test integer as attribute -->
  		<wsdl:operation name="getDataInteger">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataIntegerRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataIntegerResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test decimal as attribute -->
  		<wsdl:operation name="getDataDecimal">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataDecimalRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataDecimalResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test QName as attribute -->
  		<wsdl:operation name="getDataQName">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataQNameRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataQNameResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  		<!-- test anyURI as attribute -->
  		<wsdl:operation name="getDataAnyURI">
  			<wsdlsoap:operation soapAction=""/>
  			<wsdl:input name="getDataAnyURIRequest">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:input>
  			<wsdl:output name="getDataAnyURIResponse">
  				<wsdlsoap:body use="literal"/>
  			</wsdl:output>
  		</wsdl:operation>
  
  	</wsdl:binding>
  
  
  
  	<!-- ############################################ -->
  	<!-- Define the Service                           -->
  	<!-- ############################################ -->
  
  	<wsdl:service name="XSDAttributeService">
  		<wsdl:port binding="impl:XSDAttributeSoapBinding" name="XSDAttributePort">
  			<wsdlsoap:address location="http://localhost:9080/XSDAttribute/services/XSDAttributePort"/>
  		</wsdl:port>
  	</wsdl:service>
  
  </wsdl:definitions>