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 sa...@apache.org on 2005/04/06 15:42:29 UTC

cvs commit: ws-axis/c/samples/server/transportProperties Calculator.cpp

samisa      2005/04/06 06:42:29

  Modified:    c        buildSamples.xml
  Added:       c/deploy/wsdls bench.wsdl element.wsdl enumeration.wsdl
                        transportProperties.wsdl
               c/samples/client/bench Client.cpp
               c/samples/client/element Client.cpp
               c/samples/client/enumeration Client.cpp
               c/samples/client/transportProperties Client.cpp
               c/samples/server/bench AxisBench.cpp
               c/samples/server/element XSDElement.cpp
               c/samples/server/enumeration EnumerationWS.cpp
               c/samples/server/transportProperties Calculator.cpp
  Log:
  More samples added
  
  Revision  Changes    Path
  1.4       +1 -1      ws-axis/c/buildSamples.xml
  
  Index: buildSamples.xml
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/buildSamples.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- buildSamples.xml	6 Apr 2005 05:59:53 -0000	1.3
  +++ buildSamples.xml	6 Apr 2005 13:42:28 -0000	1.4
  @@ -226,7 +226,7 @@
   
   	<target name="compileSamples">
   		
  -                <for list="base,groupB" param="samplename">
  +                <for list="base,array,calculator,bench,element,enumeration,transportProperties" param="samplename">
                       <sequential>
   			<property name="clientSampleDir" value="client"/>		
                           <!--Generate Client-->
  
  
  
  1.1                  ws-axis/c/deploy/wsdls/bench.wsdl
  
  Index: bench.wsdl
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <!-- Copyright 2003-2004 The Apache Software Foundation.                      -->
  <!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved                   -->
  <!--                                                                          -->
  <!-- Licensed under the Apache License, Version 2.0 (the "License");          -->
  <!-- you may not use this file except in compliance with the License.         -->
  <!-- You may obtain a copy of the License at                                  -->
  <!--                                                                          -->
  <!--        http://www.apache.org/licenses/LICENSE-2.0                        -->
  <!--                                                                          -->
  <!-- Unless required by applicable law or agreed to in writing, software      -->
  <!-- distributed under the License is distributed on an "AS IS" BASIS,        -->
  <!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
  <!-- See the License for the specific language governing permissions and      -->
  <!-- limitations under the License.                                           -->
  
  <wsdl:definitions 
  	targetNamespace="http://axisbench.test.apache.org" 
  	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
  	xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  	xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" 
  	xmlns:intf="http://axisbench.test.apache.org" 
  	xmlns:impl="http://axisbench.test.apache.org"
  	 xmlns:apachesoap="http://xml.apache.org/xml-soap" 
  	 xmlns="http://schemas.xmlsoap.org/wsdl/">
    <wsdl:types>
      <schema 
      	elementFormDefault="qualified" 
  	    targetNamespace="http://axisbench.test.apache.org" 
  	    xmlns="http://www.w3.org/2001/XMLSchema">
     <complexType name="BenchBasicDataType">
      <sequence>
       <element name="StringType" type="xsd:string"/>
       <element name="IntType" type="xsd:int"/>
       <element name="BooleanType" type="xsd:boolean"/>
       <element name="DoubleType" type="xsd:double"/>
       <element name="DateTimeType" type="xsd:dateTime"/>
       <element name="DateType" type="xsd:date"/>
       <element name="TimeType" type="xsd:time"/>
       <element name="Base64BinaryType" type="xsd:base64Binary"/>
       <element name="ByteType" type="xsd:byte"/>
       <element name="DecimalType" type="xsd:decimal"/>
       <element name="FloatType" type="xsd:float"/>
       <element name="HexBinary" type="xsd:hexBinary"/>
       <element name="IntegerType" type="xsd:integer"/>
       <element name="LongType" type="xsd:long"/>
       <element name="QNameType"  type="xsd:QName"/>
       <element name="ShortType" type="xsd:short"/>
       
       <!-- Not tested yet
  	    -->
       
      </sequence>
     </complexType>
     <complexType name="BenchDataType">
      <sequence>
       <element name="count" type="xsd:int"/>
       <element maxOccurs="unbounded" name="infos" type="impl:BenchBasicDataType"/>
      </sequence>
     </complexType>
  
     <element name="doBenchRequest">
      <complexType>
       <sequence>
        <element name="doBench" type="impl:BenchDataType"/>
       </sequence>
      </complexType>
     </element>
     
     <element name="doBenchRequestResponse">
      <complexType>
       <sequence>
        <element name="doBench" nillable="true" type="impl:BenchDataType"/>
       </sequence>
      </complexType>
     </element>
    </schema>
    </wsdl:types>
    <wsdl:message name="doBenchRequest">
      <wsdl:part name="parameters" element="intf:doBenchRequest"/>
    </wsdl:message>
    <wsdl:message name="doBenchResponse">
      <wsdl:part name="parameters" element="intf:doBenchRequestResponse"/>
    </wsdl:message>
    <wsdl:portType name="AxisBench">
      <wsdl:operation name="doBenchRequest">
        <wsdl:input name="doBenchRequest" message="intf:doBenchRequest"/>
        <wsdl:output name="doBenchResponse" message="intf:doBenchResponse"/>
      </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="AxisBenchSoapBinding" type="intf:AxisBench">
      <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
      <wsdl:operation name="doBenchRequest">
        <wsdlsoap:operation soapAction=""/>
        <wsdl:input name="doBenchRequest">
          <wsdlsoap:body use="literal"/>
        </wsdl:input>
        <wsdl:output name="doBenchResponse">
          <wsdlsoap:body use="literal"/>
        </wsdl:output>
      </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="AxisBenchSoapSvc">
      <wsdl:port name="AxisBenchSoapImpl" binding="intf:AxisBenchSoapBinding">
        <wsdlsoap:address location="http://localhost:9080/AxisBench/services/AxisBenchSoapImpl"/>
      </wsdl:port>
    </wsdl:service>
  </wsdl:definitions>
  
  
  
  1.1                  ws-axis/c/deploy/wsdls/element.wsdl
  
  Index: element.wsdl
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <!-- Copyright 2003-2004 The Apache Software Foundation.                      -->
  <!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved                   -->
  <!--                                                                          -->
  <!-- Licensed under the Apache License, Version 2.0 (the "License");          -->
  <!-- you may not use this file except in compliance with the License.         -->
  <!-- You may obtain a copy of the License at                                  -->
  <!--                                                                          -->
  <!--        http://www.apache.org/licenses/LICENSE-2.0                        -->
  <!--                                                                          -->
  <!-- Unless required by applicable law or agreed to in writing, software      -->
  <!-- distributed under the License is distributed on an "AS IS" BASIS,        -->
  <!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
  <!-- See the License for the specific language governing permissions and      -->
  <!-- limitations under the License.                                           -->
  
  <wsdl:definitions targetNamespace="http://xsdelement.test.apache.org" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://xsdelement.test.apache.org" xmlns:intf="http://xsdelement.test.apache.org" xmlns:tns2="http://complextypes.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://xsdelement.test.apache.org" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://xsdelement.test.apache.org" xmlns:intf="http://xsdelement.test.apache.org" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  
     <element name="setGetDataInt">
      <complexType>
       <sequence>
        <element name="arg_0_2" type="xsd:int"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetDataIntResponse">
      <complexType>
       <sequence>
        <element name="setGetDataIntReturn" type="xsd:int"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="setGetDataUnsignedInt">
      <complexType>
       <sequence>
        <element name="arg_0_u2" type="xsd:unsignedInt"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetDataUnsignedIntResponse">
      <complexType>
       <sequence>
        <element name="setGetDataUnsignedIntReturn" type="xsd:unsignedInt"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="setGetDataLong">
      <complexType>
       <sequence>
        <element name="arg_0_5" type="xsd:long"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetDataLongResponse">
      <complexType>
       <sequence>
        <element name="setGetDataLongReturn" type="xsd:long"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="setGetDataUnsignedLong">
      <complexType>
       <sequence>
        <element name="arg_0_u5" type="xsd:unsignedLong"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetDataUnsignedLongResponse">
      <complexType>
       <sequence>
        <element name="setGetDataUnsignedLongReturn" type="xsd:unsignedLong"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="setGetDataByte">
      <complexType>
       <sequence>
        <element name="arg_0_14" type="xsd:byte"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetDataByteResponse">
      <complexType>
       <sequence>
        <element name="setGetDataByteReturn" type="xsd:byte"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="setGetDataUnsignedByte">
      <complexType>
       <sequence>
        <element name="arg_0_u14" type="xsd:unsignedByte"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetDataUnsignedByteResponse">
      <complexType>
       <sequence>
        <element name="setGetDataUnsignedByteReturn" type="xsd:unsignedByte"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="setGetDataShort">
      <complexType>
       <sequence>
        <element name="arg_0_26" type="xsd:short"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetDataShortResponse">
      <complexType>
       <sequence>
        <element name="setGetDataShortReturn" type="xsd:short"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="setGetDataUnsignedShort">
      <complexType>
       <sequence>
        <element name="arg_0_u26" type="xsd:unsignedShort"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetDataUnsignedShortResponse">
      <complexType>
       <sequence>
        <element name="setGetDataUnsignedShortReturn" type="xsd:unsignedShort"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="setGetDataBoolean">
      <complexType>
       <sequence>
        <element name="arg_0_17" type="xsd:boolean"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetDataBooleanResponse">
      <complexType>
       <sequence>
        <element name="setGetDataBooleanReturn" type="xsd:boolean"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="setGetDataDouble">
      <complexType>
       <sequence>
        <element name="arg_0_8" type="xsd:double"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetDataDoubleResponse">
      <complexType>
       <sequence>
        <element name="setGetDataDoubleReturn" type="xsd:double"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="setGetDataFloat">
      <complexType>
       <sequence>
        <element name="arg_0_11" type="xsd:float"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetDataFloatResponse">
      <complexType>
       <sequence>
        <element name="setGetDataFloatReturn" type="xsd:float"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="setGetDataString">
      <complexType>
       <sequence>
        <element name="arg_0_23" type="xsd:string"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetDataStringResponse">
      <complexType>
       <sequence>
        <element name="setGetDataStringReturn" type="xsd:string"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="setGetDateTimeType">
      <complexType>
       <sequence>
        <element name="arg_0_32" type="xsd:dateTime"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetDateTimeTypeResponse">
      <complexType>
       <sequence>
        <element name="setGetDateTimeTypeReturn" type="xsd:dateTime"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="setGetDateType">
      <complexType>
       <sequence>
        <element name="arg_0_35" type="xsd:date"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetDateTypeResponse">
      <complexType>
       <sequence>
        <element name="setGetDateTypeReturn" type="xsd:date"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="setGetDataDurationType">
      <complexType>
       <sequence>
        <element name="arg_0_d35" type="xsd:duration"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetDataDurationTypeResponse">
      <complexType>
       <sequence>
        <element name="setGetDataDurationTypeReturn" type="xsd:duration"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="setGetTimeType">
      <complexType>
       <sequence>
        <element name="arg_0_38" type="xsd:time"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetTimeTypeResponse">
      <complexType>
       <sequence>
        <element name="setGetTimeTypeReturn" type="xsd:time"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="setGetBase64BinaryType">
      <complexType>
       <sequence>
        <element name="arg_0_41" type="xsd:base64Binary"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetBase64BinaryTypeResponse">
      <complexType>
       <sequence>
        <element name="setGetBase64BinaryTypeReturn" type="xsd:base64Binary"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="setGetHexBinary">
      <complexType>
       <sequence>
        <element name="arg_0_44" type="xsd:hexBinary"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetHexBinaryResponse">
      <complexType>
       <sequence>
        <element name="setGetHexBinaryReturn" type="xsd:hexBinary"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="setGetDecimalType">
      <complexType>
       <sequence>
        <element name="arg_0_47" type="xsd:decimal"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetDecimalTypeResponse">
      <complexType>
       <sequence>
        <element name="setGetDecimalTypeReturn" type="xsd:decimal"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="setGetIntegerType">
      <complexType>
       <sequence>
        <element name="arg_0_50" type="xsd:integer"/>
       </sequence>
      </complexType>
     </element>
     <element name="setGetIntegerTypeResponse">
      <complexType>
       <sequence>
        <element name="setGetIntegerTypeReturn" type="xsd:integer"/>
       </sequence>
      </complexType>
     </element>
  
     <element name="getQNameType">
      <complexType>
       <sequence/>
      </complexType>
     </element>
     <element name="getQNameTypeResponse">
      <complexType>
       <sequence>
        <element name="getQNameTypeReturn" type="xsd:QName"/>
       </sequence>
      </complexType>
     </element>
     <element name="setQNameType">
      <complexType>
       <sequence>
        <element name="arg_0_52" type="xsd:QName"/>
       </sequence>
      </complexType>
     </element>
     <element name="setQNameTypeResponse">
      <complexType>
       <sequence/>
      </complexType>
     </element>
  
     <element name="getAnyURIType">
      <complexType>
       <sequence/>
      </complexType>
     </element>
     <element name="getAnyURITypeResponse">
      <complexType>
       <sequence>
        <element name="getAnyURITypeReturn" type="xsd:anyURI"/>
       </sequence>
      </complexType>
     </element>
     <element name="setAnyURIType">
      <complexType>
       <sequence>
        <element name="arg_0_a52" type="xsd:anyURI"/>
       </sequence>
      </complexType>
     </element>
     <element name="setAnyURITypeResponse">
      <complexType>
       <sequence/>
      </complexType>
     </element>
  
    </schema>
  
   </wsdl:types>
  
  
  
     <wsdl:message name="setGetDataIntRequest">
  
        <wsdl:part element="impl:setGetDataInt" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataUnsignedIntRequest">
  
        <wsdl:part element="impl:setGetDataUnsignedInt" name="parameters"/>
  
     </wsdl:message>
  
  
  
  
  
     <wsdl:message name="setGetDataIntResponse">
  
        <wsdl:part element="impl:setGetDataIntResponse" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:message name="setGetDataUnsignedIntResponse">
  
        <wsdl:part element="impl:setGetDataUnsignedIntResponse" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataByteRequest">
  
        <wsdl:part element="impl:setGetDataByte" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataUnsignedByteRequest">
  
        <wsdl:part element="impl:setGetDataUnsignedByte" name="parameters"/>
  
     </wsdl:message>
  
  
     <wsdl:message name="setGetDataByteResponse">
  
        <wsdl:part element="impl:setGetDataByteResponse" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:message name="setGetDataUnsignedByteResponse">
  
        <wsdl:part element="impl:setGetDataUnsignedByteResponse" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:message name="setGetDataLongRequest">
  
        <wsdl:part element="impl:setGetDataLong" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataLongResponse">
  
        <wsdl:part element="impl:setGetDataLongResponse" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataUnsignedLongRequest">
  
        <wsdl:part element="impl:setGetDataUnsignedLong" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataUnsignedLongResponse">
  
        <wsdl:part element="impl:setGetDataUnsignedLongResponse" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataShortRequest">
  
        <wsdl:part element="impl:setGetDataShort" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataShortResponse">
  
        <wsdl:part element="impl:setGetDataShortResponse" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataUnsignedShortRequest">
  
        <wsdl:part element="impl:setGetDataUnsignedShort" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataUnsignedShortResponse">
  
        <wsdl:part element="impl:setGetDataUnsignedShortResponse" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataBooleanRequest">
  
        <wsdl:part element="impl:setGetDataBoolean" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataBooleanResponse">
  
        <wsdl:part element="impl:setGetDataBooleanResponse" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataFloatRequest">
  
        <wsdl:part element="impl:setGetDataFloat" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataFloatResponse">
  
        <wsdl:part element="impl:setGetDataFloatResponse" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataDoubleRequest">
  
        <wsdl:part element="impl:setGetDataDouble" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataDoubleResponse">
  
        <wsdl:part element="impl:setGetDataDoubleResponse" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDecimalTypeRequest">
  
        <wsdl:part element="impl:setGetDecimalType" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDecimalTypeResponse">
  
        <wsdl:part element="impl:setGetDecimalTypeResponse" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetHexBinaryRequest">
  
        <wsdl:part element="impl:setGetHexBinary" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetHexBinaryResponse">
  
        <wsdl:part element="impl:setGetHexBinaryResponse" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetBase64BinaryTypeRequest">
  
        <wsdl:part element="impl:setGetBase64BinaryType" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetBase64BinaryTypeResponse">
  
        <wsdl:part element="impl:setGetBase64BinaryTypeResponse" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDateTimeTypeRequest">
  
        <wsdl:part element="impl:setGetDateTimeType" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDateTimeTypeResponse">
  
        <wsdl:part element="impl:setGetDateTimeTypeResponse" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetIntegerTypeRequest">
  
        <wsdl:part element="impl:setGetIntegerType" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetIntegerTypeResponse">
  
        <wsdl:part element="impl:setGetIntegerTypeResponse" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataStringRequest">
  
        <wsdl:part element="impl:setGetDataString" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataStringResponse">
  
        <wsdl:part element="impl:setGetDataStringResponse" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:message name="setAnyURITypeRequest">
  
        <wsdl:part element="impl:setAnyURIType" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:message name="getAnyURITypeRequest">
  
        <wsdl:part element="impl:getAnyURIType" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:message name="setAnyURITypeResponse">
  
        <wsdl:part element="impl:setAnyURITypeResponse" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:message name="getAnyURITypeResponse">
  
        <wsdl:part element="impl:getAnyURITypeResponse" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:message name="setQNameTypeRequest">
  
        <wsdl:part element="impl:setQNameType" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:message name="getQNameTypeRequest">
  
        <wsdl:part element="impl:getQNameType" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:message name="setQNameTypeResponse">
  
        <wsdl:part element="impl:setQNameTypeResponse" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:message name="getQNameTypeResponse">
  
        <wsdl:part element="impl:getQNameTypeResponse" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDateTypeRequest">
  
        <wsdl:part element="impl:setGetDateType" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDateTypeResponse">
  
        <wsdl:part element="impl:setGetDateTypeResponse" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataDurationTypeRequest">
  
        <wsdl:part element="impl:setGetDataDurationType" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetDataDurationTypeResponse">
  
        <wsdl:part element="impl:setGetDataDurationTypeResponse" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetTimeTypeRequest">
  
        <wsdl:part element="impl:setGetTimeType" name="parameters"/>
  
     </wsdl:message>
  
  
  
     <wsdl:message name="setGetTimeTypeResponse">
  
        <wsdl:part element="impl:setGetTimeTypeResponse" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:portType name="XSDElement">
  
  
  
        <wsdl:operation name="setGetDataInt">
  
           <wsdl:input message="impl:setGetDataIntRequest" name="setGetDataIntRequest"/>
  
           <wsdl:output message="impl:setGetDataIntResponse" name="setGetDataIntResponse"/>
  
        </wsdl:operation>
  
  
  
        <wsdl:operation name="setGetDataUnsignedInt">
  
           <wsdl:input message="impl:setGetDataUnsignedIntRequest" name="setGetDataUnsignedIntRequest"/>
  
           <wsdl:output message="impl:setGetDataUnsignedIntResponse" name="setGetDataUnsignedIntResponse"/>
  
        </wsdl:operation>
  
  
  
        <wsdl:operation name="setGetDataLong">
  
           <wsdl:input message="impl:setGetDataLongRequest" name="setGetDataLongRequest"/>
  
           <wsdl:output message="impl:setGetDataLongResponse" name="setGetDataLongResponse"/>
  
        </wsdl:operation>
  
  
  
        <wsdl:operation name="setGetDataUnsignedLong">
  
           <wsdl:input message="impl:setGetDataUnsignedLongRequest" name="setGetDataUnsignedLongRequest"/>
  
           <wsdl:output message="impl:setGetDataUnsignedLongResponse" name="setGetDataUnsignedLongResponse"/>
  
        </wsdl:operation>
  
  
  
        <wsdl:operation name="setGetDataDouble">
  
           <wsdl:input message="impl:setGetDataDoubleRequest" name="setGetDataDoubleRequest"/>
  
           <wsdl:output message="impl:setGetDataDoubleResponse" name="setGetDataDoubleResponse"/>
  
        </wsdl:operation>
  
  
  
        <wsdl:operation name="setGetDataFloat">
  
           <wsdl:input message="impl:setGetDataFloatRequest" name="setGetDataFloatRequest"/>
  
           <wsdl:output message="impl:setGetDataFloatResponse" name="setGetDataFloatResponse"/>
  
        </wsdl:operation>
  
  
  
        <wsdl:operation name="setGetDataByte">
  
           <wsdl:input message="impl:setGetDataByteRequest" name="setGetDataByteRequest"/>
  
           <wsdl:output message="impl:setGetDataByteResponse" name="setGetDataByteResponse"/>
  
        </wsdl:operation>
  
  
  
        <wsdl:operation name="setGetDataUnsignedByte">
  
           <wsdl:input message="impl:setGetDataUnsignedByteRequest" name="setGetDataUnsignedByteRequest"/>
  
           <wsdl:output message="impl:setGetDataUnsignedByteResponse" name="setGetDataUnsignedByteResponse"/>
  
        </wsdl:operation>
  
  
  
        <wsdl:operation name="setGetDataBoolean">
  
           <wsdl:input message="impl:setGetDataBooleanRequest" name="setGetDataBooleanRequest"/>
  
           <wsdl:output message="impl:setGetDataBooleanResponse" name="setGetDataBooleanResponse"/>
  
        </wsdl:operation>
  
  
  
        <wsdl:operation name="setGetDataString">
  
           <wsdl:input message="impl:setGetDataStringRequest" name="setGetDataStringRequest"/>
  
           <wsdl:output message="impl:setGetDataStringResponse" name="setGetDataStringResponse"/>
  
        </wsdl:operation>
  
  
  
        <wsdl:operation name="setGetDataShort">
  
           <wsdl:input message="impl:setGetDataShortRequest" name="setGetDataShortRequest"/>
  
           <wsdl:output message="impl:setGetDataShortResponse" name="setGetDataShortResponse"/>
  
        </wsdl:operation>
  
  
  
        <wsdl:operation name="setGetDataUnsignedShort">
  
           <wsdl:input message="impl:setGetDataUnsignedShortRequest" name="setGetDataUnsignedShortRequest"/>
  
           <wsdl:output message="impl:setGetDataUnsignedShortResponse" name="setGetDataUnsignedShortResponse"/>
  
        </wsdl:operation>
  
  
  
        <wsdl:operation name="setGetDateTimeType">
  
           <wsdl:input message="impl:setGetDateTimeTypeRequest" name="setGetDateTimeTypeRequest"/>
  
           <wsdl:output message="impl:setGetDateTimeTypeResponse" name="setGetDateTimeTypeResponse"/>
  
        </wsdl:operation>
  
  
  
        <wsdl:operation name="setGetDateType">
  
           <wsdl:input message="impl:setGetDateTypeRequest" name="setGetDateTypeRequest"/>
  
           <wsdl:output message="impl:setGetDateTypeResponse" name="setGetDateTypeResponse"/>
  
        </wsdl:operation>
  
  
  
        <wsdl:operation name="setGetDataDurationType">
  
           <wsdl:input message="impl:setGetDataDurationTypeRequest" name="setGetDataDurationTypeRequest"/>
  
           <wsdl:output message="impl:setGetDataDurationTypeResponse" name="setGetDataDurationTypeResponse"/>
  
        </wsdl:operation>
  
  
  
        <wsdl:operation name="setGetTimeType">
  
           <wsdl:input message="impl:setGetTimeTypeRequest" name="setGetTimeTypeRequest"/>
  
           <wsdl:output message="impl:setGetTimeTypeResponse" name="setGetTimeTypeResponse"/>
  
        </wsdl:operation>
  
  
  
        <wsdl:operation name="setGetBase64BinaryType">
  
           <wsdl:input message="impl:setGetBase64BinaryTypeRequest" name="setGetBase64BinaryTypeRequest"/>
  
           <wsdl:output message="impl:setGetBase64BinaryTypeResponse" name="setGetBase64BinaryTypeResponse"/>
  
        </wsdl:operation>
  
  
  
        <wsdl:operation name="setGetHexBinary">
  
           <wsdl:input message="impl:setGetHexBinaryRequest" name="setGetHexBinaryRequest"/>
  
           <wsdl:output message="impl:setGetHexBinaryResponse" name="setGetHexBinaryResponse"/>
  
        </wsdl:operation>
  
  
  
        <wsdl:operation name="setGetDecimalType">
  
           <wsdl:input message="impl:setGetDecimalTypeRequest" name="setGetDecimalTypeRequest"/>
  
           <wsdl:output message="impl:setGetDecimalTypeResponse" name="setGetDecimalTypeResponse"/>
  
        </wsdl:operation>
  
  
  
        <wsdl:operation name="setGetIntegerType">
  
           <wsdl:input message="impl:setGetIntegerTypeRequest" name="setGetIntegerTypeRequest"/>
  
           <wsdl:output message="impl:setGetIntegerTypeResponse" name="setGetIntegerTypeResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="setQNameType">
  
           <wsdl:input message="impl:setQNameTypeRequest" name="setQNameTypeRequest"/>
  
           <wsdl:output message="impl:setQNameTypeResponse" name="setQNameTypeResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="getQNameType">
  
           <wsdl:input message="impl:getQNameTypeRequest" name="getQNameTypeRequest"/>
  
           <wsdl:output message="impl:getQNameTypeResponse" name="getQNameTypeResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="setAnyURIType">
  
           <wsdl:input message="impl:setAnyURITypeRequest" name="setAnyURITypeRequest"/>
  
           <wsdl:output message="impl:setAnyURITypeResponse" name="setAnyURITypeResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="getAnyURIType">
  
           <wsdl:input message="impl:getAnyURITypeRequest" name="getAnyURITypeRequest"/>
  
           <wsdl:output message="impl:getAnyURITypeResponse" name="getAnyURITypeResponse"/>
  
        </wsdl:operation>
  
     </wsdl:portType>
  
     <wsdl:binding name="XSDElementSoapBinding" type="impl:XSDElement">
  
        <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
  
        <wsdl:operation name="setGetDataInt">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetDataIntRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetDataIntResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setGetDataUnsignedInt">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetDataUnsignedIntRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetDataUnsignedIntResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setGetDataLong">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetDataLongRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetDataLongResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setGetDataUnsignedLong">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetDataUnsignedLongRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetDataUnsignedLongResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setGetDataDouble">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetDataDoubleRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetDataDoubleResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setGetDataFloat">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetDataFloatRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetDataFloatResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setGetDataByte">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetDataByteRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetDataByteResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setGetDataUnsignedByte">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetDataUnsignedByteRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetDataUnsignedByteResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setGetDataBoolean">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetDataBooleanRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetDataBooleanResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setGetDataString">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetDataStringRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetDataStringResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setGetDataShort">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetDataShortRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetDataShortResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setGetDataUnsignedShort">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetDataUnsignedShortRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetDataUnsignedShortResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setGetDateTimeType">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetDateTimeTypeRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetDateTimeTypeResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setGetDateType">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetDateTypeRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetDateTypeResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setGetDataDurationType">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetDataDurationTypeRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetDataDurationTypeResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setGetTimeType">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetTimeTypeRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetTimeTypeResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setGetBase64BinaryType">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetBase64BinaryTypeRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetBase64BinaryTypeResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setGetHexBinary">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetHexBinaryRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetHexBinaryResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setGetDecimalType">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetDecimalTypeRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetDecimalTypeResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setGetIntegerType">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setGetIntegerTypeRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setGetIntegerTypeResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="getQNameType">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="getQNameTypeRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="getQNameTypeResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setQNameType">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setQNameTypeRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setQNameTypeResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="getAnyURIType">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="getAnyURITypeRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="getAnyURITypeResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="setAnyURIType">
  
           <wsdlsoap:operation soapAction=""/>
  
           <wsdl:input name="setAnyURITypeRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="setAnyURITypeResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
     </wsdl:binding>
  
     <wsdl:service name="XSDElementService">
  
        <wsdl:port binding="impl:XSDElementSoapBinding" name="XSDElementPort">
  
           <wsdlsoap:address location="http://localhost:9080/XSDElement/services/XSDElementPort"/>
  
        </wsdl:port>
  
     </wsdl:service>
  
  </wsdl:definitions>
  
  
  
  1.1                  ws-axis/c/deploy/wsdls/enumeration.wsdl
  
  Index: enumeration.wsdl
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <!-- Copyright 2003-2004 The Apache Software Foundation.                      -->
  <!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved                   -->
  <!--                                                                          -->
  <!-- Licensed under the Apache License, Version 2.0 (the "License");          -->
  <!-- you may not use this file except in compliance with the License.         -->
  <!-- You may obtain a copy of the License at                                  -->
  <!--                                                                          -->
  <!--        http://www.apache.org/licenses/LICENSE-2.0                        -->
  <!--                                                                          -->
  <!-- Unless required by applicable law or agreed to in writing, software      -->
  <!-- distributed under the License is distributed on an "AS IS" BASIS,        -->
  <!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
  <!-- See the License for the specific language governing permissions and      -->
  <!-- limitations under the License.                                           -->
  
  <definitions targetNamespace="http://enumeration.test.apache.org" xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://enumeration.test.apache.org" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/">
  	<types>
  		<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://enumeration.test.apache.org" xmlns:tns="http://enumeration.test.apache.org">
  
  			<xsd:element name="getInput">
  			<xsd:complexType>
  				<xsd:sequence>
  					<xsd:element name="type" maxOccurs="1" minOccurs="0" type="tns:Type1" />
  				</xsd:sequence>
  			</xsd:complexType>
  			</xsd:element>
  			
  			<xsd:element name="getInputResponse">
  			<xsd:complexType>
  				<xsd:sequence>
  					<xsd:element name="type" maxOccurs="1" minOccurs="0" type="tns:Type1" />					
  				</xsd:sequence>
  			</xsd:complexType>
  			</xsd:element>			
  			
  			<xsd:complexType name="Type1">
  				<xsd:sequence>
  					<xsd:element name="enum_int" maxOccurs="1" minOccurs="0" type="tns:TypeInt" />
  					<xsd:element name="enum_string" maxOccurs="1" minOccurs="0" type="tns:TypeString" />					
  				</xsd:sequence>
  				<xsd:attribute name="att_enum_int" type="tns:TypeInt"/> 
  				<xsd:attribute name="att_enum_string" type="tns:TypeString"/> 
  				<xsd:attribute name="att_enum_kind"> 
  					<xsd:simpleType>
  						<xsd:restriction base="xsd:string">
  							<xsd:enumeration value="CHEQUE" />
  							<xsd:enumeration value="CREDIT_CARD" />
  							<xsd:enumeration value="TRANSFER" />
  							<xsd:enumeration value="WITHDRAWAL" />
  							<xsd:enumeration value="AUTOMATIC" />
  						</xsd:restriction>
  					</xsd:simpleType>	
  				</xsd:attribute>	
  			</xsd:complexType>
  			
  			<xsd:simpleType name="TypeInt">
  				<xsd:restriction base="xsd:int">
  					<xsd:enumeration value="0" />
  					<xsd:enumeration value="1" />
  				</xsd:restriction>
  			</xsd:simpleType>
  			
  			<xsd:simpleType name="TypeString">
  				<xsd:restriction base="xsd:string">
  					<xsd:enumeration value="one" />
  					<xsd:enumeration value="two" />
  				</xsd:restriction>
  			</xsd:simpleType>			
  
  		</xsd:schema>
  	</types>
  
  
  	<message name="input">
  		<part name="parameters" element="tns:getInput" />
  	</message>
  	
  	<message name="output">
  		<part name="parameters" element="tns:getInputResponse" />
  	</message>	
  
  	<portType name="EnumerationWS">
  		<operation name="getInput">
  			<input message="tns:input" />
  			<output message="tns:output" />
  		</operation>
  	</portType>
  
  	<binding name="EnumerationWSBinding" type="tns:EnumerationWS">
  		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
  		<operation name="getInput">
  			<soap:operation />
  			<input>
  				<soap:body use="literal" />
  			</input>
  			<output>
  				<soap:body use="literal" />
  			</output>
  		</operation>
  	</binding>
  
  	<service name="EnumerationWSService">
  		<port name="sampleWS" binding="tns:EnumerationWSBinding">
  			<soap:address location="http://localhost:9080/Enumeration/services/sampleWS" />
  		</port>
  	</service>
  </definitions>
  
  
  
  1.1                  ws-axis/c/deploy/wsdls/transportProperties.wsdl
  
  Index: transportProperties.wsdl
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <!-- Copyright 2003-2004 The Apache Software Foundation.                      -->
  <!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved                   -->
  <!--                                                                          -->
  <!-- Licensed under the Apache License, Version 2.0 (the "License");          -->
  <!-- you may not use this file except in compliance with the License.         -->
  <!-- You may obtain a copy of the License at                                  -->
  <!--                                                                          -->
  <!--        http://www.apache.org/licenses/LICENSE-2.0                        -->
  <!--                                                                          -->
  <!-- Unless required by applicable law or agreed to in writing, software      -->
  <!-- distributed under the License is distributed on an "AS IS" BASIS,        -->
  <!-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -->
  <!-- See the License for the specific language governing permissions and      -->
  <!-- limitations under the License.                                           -->
  
  <wsdl:definitions targetNamespace="http://localhost/axis/Calculator" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost/axis/Calculator" xmlns:intf="http://localhost/axis/Calculator" 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://localhost/axis/Calculator" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost/axis/Calculator" xmlns:intf="http://localhost/axis/Calculator" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
     <element name="add">
      <complexType>
       <sequence>
        <element name="arg_0_0" type="xsd:int"/>
        <element name="arg_1_0" type="xsd:int"/>
       </sequence>
      </complexType>
     </element>
     <element name="addResponse">
      <complexType>
       <sequence>
        <element name="addReturn" type="xsd:int"/>
       </sequence>
      </complexType>
     </element>
     <element name="sub">
      <complexType>
       <sequence>
        <element name="arg_0_1" type="xsd:int"/>
        <element name="arg_1_1" type="xsd:int"/>
       </sequence>
      </complexType>
     </element>
     <element name="subResponse">
      <complexType>
       <sequence>
        <element name="subReturn" type="xsd:int"/>
       </sequence>
      </complexType>
     </element>
     <element name="mul">
      <complexType>
       <sequence>
        <element name="arg_0_2" type="xsd:int"/>
        <element name="arg_1_2" type="xsd:int"/>
       </sequence>
      </complexType>
     </element>
     <element name="mulResponse">
      <complexType>
       <sequence>
        <element name="mulReturn" type="xsd:int"/>
       </sequence>
      </complexType>
     </element>
     <element name="div">
      <complexType>
       <sequence>
        <element name="arg_0_3" type="xsd:int"/>
        <element name="arg_1_3" type="xsd:int"/>
       </sequence>
      </complexType>
     </element>
     <element name="divResponse">
      <complexType>
       <sequence>
        <element name="divReturn" type="xsd:int"/>
       </sequence>
      </complexType>
     </element>
    </schema>
   </wsdl:types>
  
     <wsdl:message name="subResponse">
  
        <wsdl:part element="impl:subResponse" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:message name="mulResponse">
  
        <wsdl:part element="impl:mulResponse" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:message name="subRequest">
  
        <wsdl:part element="impl:sub" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:message name="divRequest">
  
        <wsdl:part element="impl:div" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:message name="divResponse">
  
        <wsdl:part element="impl:divResponse" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:message name="mulRequest">
  
        <wsdl:part element="impl:mul" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:message name="addResponse">
  
        <wsdl:part element="impl:addResponse" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:message name="addRequest">
  
        <wsdl:part element="impl:add" name="parameters"/>
  
     </wsdl:message>
  
     <wsdl:portType name="Calculator">
  
        <wsdl:operation name="add">
  
           <wsdl:input message="impl:addRequest" name="addRequest"/>
  
           <wsdl:output message="impl:addResponse" name="addResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="sub">
  
           <wsdl:input message="impl:subRequest" name="subRequest"/>
  
           <wsdl:output message="impl:subResponse" name="subResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="mul">
  
           <wsdl:input message="impl:mulRequest" name="mulRequest"/>
  
           <wsdl:output message="impl:mulResponse" name="mulResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="div">
  
           <wsdl:input message="impl:divRequest" name="divRequest"/>
  
           <wsdl:output message="impl:divResponse" name="divResponse"/>
  
        </wsdl:operation>
  
     </wsdl:portType>
  
     <wsdl:binding name="CalculatorSoapBinding" type="impl:Calculator">
  
        <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
  
        <wsdl:operation name="add">
  
           <wsdlsoap:operation soapAction="Calculator#add"/>
  
           <wsdl:input name="addRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="addResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="sub">
  
           <wsdlsoap:operation soapAction="Calculator#sub"/>
  
           <wsdl:input name="subRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="subResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="mul">
  
           <wsdlsoap:operation soapAction="Calculator#mul"/>
  
           <wsdl:input name="mulRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="mulResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="div">
  
           <wsdlsoap:operation soapAction="Calculator#div"/>
  
           <wsdl:input name="divRequest">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:input>
  
           <wsdl:output name="divResponse">
  
              <wsdlsoap:body use="literal"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
     </wsdl:binding>
  
     <wsdl:service name="Calculator">
  
        <wsdl:port binding="impl:CalculatorSoapBinding" name="Calculator">
  
           <wsdlsoap:address location="http://localhost/axis/Calculator"/>
  
        </wsdl:port>
  
     </wsdl:service>
  
  </wsdl:definitions>
  
  
  
  1.1                  ws-axis/c/samples/client/bench/Client.cpp
  
  Index: Client.cpp
  ===================================================================
  #include "AxisBench.hpp"
  #include <iostream>
  #include <fstream>
  #include <time.h>
  
  #ifndef WIN32
    #include "sys/time.h"
  #else
    #include "sys/timeb.h"
  
    // Bug in MS Visual C++ 6.0. Fixed in Visual C++ .Net version.
    // Cannot print an __int64 number with cout without this overloading
    std::ostream& operator<<(std::ostream& os, __int64 i )
    {
      char buf[20];
      sprintf(buf,"%I64d", i );
      os << buf;
      return os;
    }
  
  #endif
  
  static bool verbose = false;
  #include <stdlib.h> // For malloc(), calloc(), strdup() and free()
  
  // Prototype
  bool parse_args_for_endpoint(int *argc, char *argv[], char **endpoint);
  void shift_args(int i, int *argc, char *argv[]);
  void setLogOptions(const char *output_filename);
  
  // If we re-direct cout it will be to this ofstream
  ofstream output_file;
  
  #define WSDL_DEFAULT_ENDPOINT "http://localhost:80/axis/bench"
  
  int main(int argc, char* argv[])
  { 
    AxisBench *ws;
  
    BenchDataType *input = NULL;
    BenchDataType *output = NULL;
    xsd__unsignedByte* buffer = NULL;
  
    char *endpoint = WSDL_DEFAULT_ENDPOINT;
    bool endpoint_set = false;
    int returnValue = 1; // Assume Failure
  
    endpoint_set = parse_args_for_endpoint(&argc, argv, &endpoint);
  
  		bool bSuccess = false;
  		int	iRetryIterationCount = 3;
  
  		do
  		{
    try {
      if(endpoint_set) {
        ws = new AxisBench("http://localhost:80/axis/bench", APTHTTP1_1);
        free(endpoint);
        endpoint_set = false;
      } else
        ws = new AxisBench("http://localhost:80/axis/bench");
  //	ws.setTransportProperty("SOAPAction" , "AxisBench#doBenchRequest");
  
      
      int request = 1;
        
      input = new BenchDataType();
      input->count = 10;
        
  //    input->infos.m_Array = new BenchBasicDataType[input->count];
  	BenchBasicDataType **	ppBBDT = (BenchBasicDataType **) new BenchBasicDataType *[input->count];
  
  #ifdef WIN32
  	__int64					ll = 10000;
  #else
  	long long				ll = 10000;
  #endif
  
  	input->infos.m_Array = ppBBDT;
  
      input->infos.m_Size = input->count;
        
      time_t tim;
      tim = 1100246323;
      struct tm *temp = gmtime(&tim);
      struct tm lt;
      memcpy(&lt, temp, sizeof(struct tm));
  
        
      buffer = (xsd__unsignedByte*)calloc (1, input->count + 2);
      strcpy ( (char *)buffer, "A");
  
      for ( int i = 0; i < input->count ; i++ ) {
          BenchBasicDataType *type = new BenchBasicDataType();
          type->StringType = "StringType";
          type->IntegerType = 10*(i+1);
          type->DoubleType = 11.111 * (i+1);
          type->BooleanType = true_;
          type->DateTimeType = lt ;
          type->TimeType = lt ;
          type->DateType = lt ;
          type->IntType = (i+1);
          type->ByteType = '1';
          type->DecimalType = 10*(i+1);
          type->FloatType = (float)((float)(11*(i+1))/(float)2.0);
          type->LongType = ll;
          type->QNameType = "toto";
          type->ShortType = (i+1);
          type->Base64BinaryType.__size=i;
          type->Base64BinaryType.__ptr=buffer;
          type->HexBinary.__size=i;
          type->HexBinary.__ptr=buffer;
  
  		if( i == 90)
  		{
  			*ppBBDT = type;
  //			*ppBBDT = NULL;
  		}
  		else
  		{
  			*ppBBDT = type;
  		}
  
  		ppBBDT++;
  
  		if( ll == 0)
  		{
  			ll = 1;
  		}
  		else
  		{
  			ll += 10000;
  		}
  
          strcat ( (char *)buffer, "A");
      }
  
      int t1,t2;
  #ifndef WIN32  
      struct timeval mstart;
      struct timeval mstop;
      gettimeofday( &mstart, NULL );
  #else
      struct timeb mstart;
      struct timeb mstop;
      ftime(&mstart);
  #endif
  
      for ( int ii = 0; ii < request ; ii++ ) {
          if (output) { // Samisa: memory management BP
              for (int i = 0; i < output->infos.m_Size; i++)
                  delete (BenchBasicDataType*)(output->infos.m_Array[i]);
              delete output;
              output = NULL;
          }
  		ws->setTransportProperty("SOAPAction" , "AxisBench#doBenchRequest");
        output = ws->doBenchRequest(input);
      }
  
      free(buffer);
  
  #ifndef WIN32
      gettimeofday( &mstop, NULL );
      t1 = mstart.tv_sec*1000 + mstart.tv_usec/1000;
      t2 = mstop.tv_sec*1000 + mstop.tv_usec/1000;
  #else
      ftime(&mstop);
      t1 = mstart.time*1000 + mstart.millitm;
      t2 = mstop.time*1000 + mstop.millitm;
  #endif
  
      int total = t2-t1;
        
      if ( ws->getStatus() == AXIS_FAIL )
          cout << "Failed" << endl;
      else 
      {
     	  bSuccess = true;
  	  char dateTime[50];
        int i = 0;
        if ( argc > 1 )
            i = output->count -1;
  
        cout << "Input Count : " << input->count << endl;
        cout << "Count : " << output->count << endl;
        for ( ; i < output->count ; i++ ) 
        {
  		  if( output->infos.m_Array[i] != (BenchBasicDataType *) 0xcdcdcdcd)
  		  {
  			  cout << " ----------------------------------------------" << endl;
  			  cout << " StringType " << output->infos.m_Array[i]->StringType << endl;
  			  cout << " IntType " << output->infos.m_Array[i]->IntType << endl;
  			  cout << " IntegerType " << output->infos.m_Array[i]->IntegerType << endl;
  			  cout << " DoubleType " << output->infos.m_Array[i]->DoubleType << endl;
  			  cout << " BooleanType " << output->infos.m_Array[i]->BooleanType << endl;
    			  strftime(dateTime, 50, "%a %b %d %H:%M:%S %Y", &output->infos.m_Array[i]->DateTimeType);
  			  cout << " DateTimeType " << dateTime << endl;
    			  strftime(dateTime, 50, "%a %b %d %Y", &output->infos.m_Array[i]->DateType);
  			  cout << " DateType " << dateTime << endl;
  // This is being removed due to problem in some servers.
  // See XSDTime or XSDTimeNil testcases for full validation of the xsd:time type
  //            strftime(dateTime, 50, "%H:%M:%S", &output->infos.m_Array[i]->TimeType);
  //			  cout << " TimeType " << dateTime << endl;
  			  cout << " ByteType " << output->infos.m_Array[i]->ByteType << endl;
  			  cout << " DecimalType " << output->infos.m_Array[i]->DecimalType << endl;
  			  cout << " FloatType " << output->infos.m_Array[i]->FloatType << endl;
  			  cout << " LongType " << output->infos.m_Array[i]->LongType << endl;
  			  cout << " QNameType " << output->infos.m_Array[i]->QNameType << endl;
  			  cout << " ShortType " << output->infos.m_Array[i]->ShortType << endl;
  
  			  cout << " Base64BinaryType " << output->infos.m_Array[i]->Base64BinaryType.__size << endl;
  			  if( output->infos.m_Array[i]->Base64BinaryType.__size > 0)
  			  {
  				  cout << " Base64BinaryType " << output->infos.m_Array[i]->Base64BinaryType.__ptr << endl;
  			  }
  
  			  cout << " HexBinaryType " << output->infos.m_Array[i]->HexBinary.__size << endl;
  			  if( output->infos.m_Array[i]->HexBinary.__size > 0)
  			  {
  				cout << " HexBinaryType " << output->infos.m_Array[i]->HexBinary.__ptr << endl;
  			  }
  		  }
  		  returnValue=0;
        }
      }
  
      if(verbose) {
          cout << " ----------------------------------------------" << endl;
          cout << input->count << " input paramters, and " << request << " requests" << endl;
          cout << "Total time = " << total << " ms" << endl;
          cout << "Average time = " << total/request << " ms" << endl;
      }
    } 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(...) {
      cerr << "Unknown Exception occured." << endl;
    }
  
    // Samisa: make sure we clean up memory allocated
    try
    {
  	  delete ws; 
  	  for (int i = 0; i < input->infos.m_Size; i++)
  	      delete (BenchBasicDataType*)(input->infos.m_Array[i]);
  	  delete input;
  	  if (output)
  	  {
  	    for (int i = 0; i < output->infos.m_Size; i++)
  	      delete (BenchBasicDataType*)(output->infos.m_Array[i]);
  	    delete output;
  	  }
    }
    catch(AxisException& e)
    {
      cerr << e.what() << endl;
    }
    catch(exception& e)
    {
  				cout << "Exception : " << e.what() << endl;
    }
    catch(...)
    {
    	cout << "Unknown exception on clean up: " << endl;
    }
  		iRetryIterationCount--;
  		} while( iRetryIterationCount > 0 && !bSuccess);
      if(endpoint_set)
        free(endpoint);
  		cout << "---------------------- TEST COMPLETE -----------------------------"<< endl;
  		printf("successful \n");
    return returnValue;
  
  }
  
  /* Spin through args list and check for -e -p and -s options.
     Option values are expected to follow the option letter as the next
     argument.
   
     These options and values are removed from the arg list.
     If both -e and -s and or -p, then -e takes priority
  */
  bool parse_args_for_endpoint(int *argc, char *argv[], char **endpoint) {
  
      // We need at least 2 extra arg after program name
      if(*argc < 3)
          return false;
  
      char *server = "localhost";
      int  port = 80;
      bool ep_set = false;
      bool server_set = false;
      bool port_set = false;
  
      for(int i=1; i<*argc; i++) {
          if(*argv[i] == '-') {
              switch(*(argv[i]+1)) {
              case 'e':
                  *endpoint = strdup(argv[i+1]);
                  ep_set = true;
                  shift_args(i, argc, argv);
                  i--;
                  break;
              case 's':
                  server = strdup(argv[i+1]);
                  server_set = true;
                  shift_args(i, argc, argv);
                  i--;
                  break;
              case 'p':
                  port = atoi(argv[i+1]);
                  if(port >80) port_set = true;
                  shift_args(i, argc, argv);
                  i--;
                  break;
              case 'o':
                  setLogOptions(argv[i+1]);
                  shift_args(i, argc, argv);
                  i--;
                  break;
              case 'v':
  				verbose=true;
                  break;
              default:
                  break;
              }
          }
      }
  
      // use the supplied server and/or port to build the endpoint
      if(ep_set == false && (server_set || port_set)) {
          // Set p to the location of the first '/' after the http:// (7 chars)
          // e.g. from http://localhost:80/axis/base gets /axis/base
          char *ep_context = strpbrk(&(*endpoint)[7], "/");
  
          // http://:/ is 9 characters + terminating NULL character so add 10.
          // Allow space for port number upto 999999 6 chars
          *endpoint = (char *)calloc(1, 10 + strlen(ep_context) + strlen(server) + 6);
          sprintf(*endpoint, "http://%s:%d/%s", server, port, ep_context+1);
          if(server_set) free(server);
          ep_set = true;
      }
  
      return ep_set;
  }
  
  void shift_args(int i, int *argc, char *argv[]) {
      for(int j=i, k=i+2; j<*(argc)-2; j++, k++)
          argv[j]=argv[k];
      *argc-=2;
  }
  
  void setLogOptions(const char *output_filename) {
      output_file.open(output_filename, ios::out);
      if(output_file.is_open()) {
          cout.rdbuf( output_file.rdbuf() );
      }
  }
  
  
  
  
  1.1                  ws-axis/c/samples/client/element/Client.cpp
  
  Index: Client.cpp
  ===================================================================
  
  /*
   * Supported types are
    1 <element name="getBoolean">
    2 <element name="getByte">
    3 <element name="getUnsignedByte">
    4 <element name="getShort">
    5 <element name="getUnsignedShort">
    6 <element name="getInt">
    7 <element name="getUnsignedInt">
    8 <element name="getLong">
    9 <element name="getUnsignedLong">
   10 <element name="getFloat">
   11 <element name="getDouble">
   12 <element name="getDate">
   13 <element name="getDateTime">
   14 <element name="getTime">
   15 <element name="getDuration">
   16 <element name="getString">
   17 <element name="getInteger">
   18 <element name="getDecimal">
   19 <element name="getBase64Binary">
   20 <element name="getHexBinary">
   *
   */
  
  
  #include "XSDElement.hpp"
  #include <axis/AxisException.hpp>
  #include <ctype.h>
  #include <iostream>
  
  #ifdef WIN32
    // Bug in MS Visual C++ 6.0. Fixed in Visual C++ .Net version.
    // Cannot print an __int64 number with cout without this overloading
    std::ostream& operator<<(std::ostream& os, __int64 i )
    {
      char buf[20];
      sprintf(buf,"%I64d", i );
      os << buf;
      return os;
    }
  #endif
  
  int main(int argc, char* argv[])
  {
  	char endpoint[256];
  	const char* url="http://localhost:80/axis/element";
  	char dateTime[50];
  
  	xsd__boolean boolResult=(xsd__boolean)1;
  	xsd__byte bResult=(xsd__byte)0;
  	xsd__unsignedByte ubResult=(xsd__unsignedByte)0;
  	xsd__short sResult=(xsd__short)0;
  	xsd__unsignedShort usResult=(xsd__unsignedShort)0;
  	xsd__int iResult=(xsd__int)0;
  	xsd__unsignedInt uiResult=(xsd__unsignedInt)0;
  	xsd__long lResult=(xsd__long)0;
  	xsd__unsignedLong ulResult=(xsd__unsignedLong)0;
  	xsd__float fResult=(xsd__float)0;
  	xsd__double dResult=(xsd__double)0;
  	xsd__date dateResult;			// typedef of struct tm
  	xsd__dateTime dateTimeResult;	// typedef of struct tm
  	xsd__time timeResult;			// typedef of struct tm
  	xsd__duration durationResult = (xsd__duration) 0;
  	xsd__string strResult=(xsd__string)0;
  	xsd__integer intResult=(xsd__integer)0;
  	xsd__decimal decResult=(xsd__decimal)0;
  	xsd__base64Binary b64Result;
  	xsd__hexBinary hexResult;
  
  	xsd__base64Binary b64Test;
  	xsd__hexBinary hexTest;
  
  	//xsd__unsignedByte* testUB = (xsd__unsignedByte*)"never odd or even";
  	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];
  
  		bool bSuccess = false;
  		int	iRetryIterationCount = 3;
  
  		do
  		{
  	try
  	{
  		
  		sprintf(endpoint, "%s", url);
  		XSDElement* ws = new XSDElement(endpoint);
  
  		ws->setTransportProperty("SOAPAction" , "element#setGetDataBoolean");
  		boolResult = ws->setGetDataBoolean((xsd__boolean)1);
  		cout << "bool=" << boolResult << endl;
  
  		ws->setTransportProperty("SOAPAction" , "element#setGetDataByte");
  		bResult = ws->setGetDataByte(31);
  		printf("byte=%d\n", bResult);
  		ws->setTransportProperty("SOAPAction" , "element#setGetDataUnsignedByte");
  		ubResult = ws->setGetDataUnsignedByte(32);
  		printf("unsigned byte=%d\n", ubResult);
  
  		ws->setTransportProperty("SOAPAction" , "element#setGetDataShort");
  		sResult = ws->setGetDataShort(7);
  		printf("short=%d\n", sResult);
  		ws->setTransportProperty("SOAPAction" , "element#setGetDataUnsignedShort");
  		usResult = ws->setGetDataUnsignedShort(14);
  		printf("unsigned short=%d\n", usResult);
  
  		ws->setTransportProperty("SOAPAction" , "element#setGetDataInt");
  		iResult = ws->setGetDataInt(21);
  		printf("int=%d\n", iResult);
  		ws->setTransportProperty("SOAPAction" , "element#setGetDataUnsignedInt");
  		uiResult = ws->setGetDataUnsignedInt(28);
  		printf("unsigned int=%d\n", uiResult);fflush(stdout);
  
  		ws->setTransportProperty("SOAPAction" , "element#setGetDataLong");
  		lResult = ws->setGetDataLong((xsd__long)35);
  	    cout << "long=" << lResult << endl;
  		ws->setTransportProperty("SOAPAction" , "element#setGetDataUnsignedLong");
  		ulResult = ws->setGetDataUnsignedLong((xsd__unsignedLong)42);
  		printf("unsigned long=%d\n", ulResult);
  
  		ws->setTransportProperty("SOAPAction" , "element#setGetDataFloat");
  		fResult = ws->setGetDataFloat((xsd__float)35.3535888888);
  		printf("float=%.5f\n", fResult); fflush(stdout);
  
  		ws->setTransportProperty("SOAPAction" , "element#setGetDataDouble");
  		dResult = ws->setGetDataDouble((xsd__double)70.7175888888);
  		printf("double=%.5f\n", dResult); fflush(stdout);
  
  		ws->setTransportProperty("SOAPAction" , "element#setGetDataDurationType");
          durationResult = ws->setGetDataDurationType((xsd__duration)123456789);
          cout << "duration=" << durationResult << endl;
  
  		ws->setTransportProperty("SOAPAction" , "element#setGetDateType");
  		dateResult = ws->setGetDateType(testDate);
  		strftime(dateTime, 50, "%a %b %d %Y", &dateResult);
  		cout << "date=" << dateTime << endl;
  
  		ws->setTransportProperty("SOAPAction" , "element#setGetDateTimeType");
  		dateTimeResult = ws->setGetDateTimeType(testDate);
  		strftime(dateTime, 50, "%a %b %d %H:%M:%S %Y", &dateTimeResult);
  		cout << "dateTime=" << dateTime << endl;
  
  //  This is being commented out due to issue on some servers
  //  An additional testcase XSDTime has been created to isolate this test.
  //		timeResult = ws->setGetTimeType(testDate);
  //		strftime(dateTime, 50, "%H:%M:%S", &timeResult);
  //		cout << "time=" << dateTime << endl;
  
  		ws->setTransportProperty("SOAPAction" , "element#setGetDataString");
  		strResult = ws->setGetDataString("never odd or even");
  		cout << "string=" << strResult << endl;
  		strResult = ws->setGetDataString("m");
  		cout << "small string=" << strResult << endl;
  
  		ws->setTransportProperty("SOAPAction" , "element#setGetIntegerType");
  		intResult = ws->setGetIntegerType(919191919);
  		cout << "integer=" << intResult << endl;
  
  		ws->setTransportProperty("SOAPAction" , "element#setGetDecimalType");
  		decResult = ws->setGetDecimalType(929292929.5555555555555);
          printf("decimal=%.5f\n", decResult); fflush(stdout);
  
  		ws->setTransportProperty("SOAPAction" , "element#setGetBase64BinaryType");
  		b64Result = ws->setGetBase64BinaryType(b64Test);
  		cout << "base64Binary size=" << b64Result.__size << endl;
  		if( b64Result.__size > 0)
  		{
  			cout << "base64Binary data=" << b64Result.__ptr << endl;
  		}
  
  		ws->setTransportProperty("SOAPAction" , "element#setGetHexBinary");
  		hexResult = ws->setGetHexBinary(hexTest);
  		cout << "hexBinary size=" << hexResult.__size << endl;
  		if( hexResult.__size > 0)
  		{
  			cout << "hexBinary data=" << hexResult.__ptr << endl;
  		}
  
  		bSuccess = true;
  		delete ws;
  	}
  	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 << "Unknown exception has occured" << endl;
  	}
  	catch(...)
  	{
  	    cout << "Unknown exception has occured" << endl;
  	}
  		iRetryIterationCount--;
  		} while( iRetryIterationCount > 0 && !bSuccess);
  	cout<< "---------------------- TEST COMPLETE -----------------------------"<< endl;
  	printf("successful \n");
  	return 0;
  }
  
  
  
  
  1.1                  ws-axis/c/samples/client/enumeration/Client.cpp
  
  Index: Client.cpp
  ===================================================================
  
  #include "EnumerationWS.hpp" 
  #include <stdlib.h> // For malloc(), calloc(), strdup() and free()
  #include <iostream>
  #include <fstream>
  
  #define WSDL_DEFAULT_ENDPOINT "http://localhost:80/axis/enumeration"
  
  // Prototype
  bool parse_args_for_endpoint(int *argc, char *argv[], char **endpoint);
  void shift_args(int i, int *argc, char *argv[]);
  void setLogOptions(const char *output_filename);
  
  // If we re-direct cout it will be to this ofstream
  ofstream output_file;
  
  int main(int argc, char* argv[])
  {
    EnumerationWS *ws;
  
    char *endpoint = WSDL_DEFAULT_ENDPOINT;
    bool endpoint_set = false;
    int returnValue = 1; // Assume Failure
  
    Type1* input = NULL;
    Type1* result = NULL;
  
    endpoint_set = parse_args_for_endpoint(&argc, argv, &endpoint);
  
  		bool bSuccess = false;
  		int	iRetryIterationCount = 3;
  
  		do
  		{
    try {
      if(endpoint_set) {
        ws = new EnumerationWS("http://localhost:80/axis/enumeration", APTHTTP1_1);
        free(endpoint);
        endpoint_set = false;
      } else
        ws = new EnumerationWS("http://localhost:80/axis/enumeration");
  
      input = new Type1();
  
      input->enum_string="one";
      input->att_enum_string="one";
      input->enum_int=ENUMTYPEINT_0;
      input->att_enum_int=ENUMTYPEINT_1;
      input->att_enum_kind="CHEQUE";
  
  	ws->setTransportProperty("SOAPAction" , "enumeration#getInput");
      result = ws->getInput(input);
  
      cout << "Result" << endl;
      if ( result == NULL ) {
        cout << "  result = NULL" << endl;
      } else {
        cout << "att_enum_int " << result->att_enum_int << endl;
        cout << "att_enum_string " << result->att_enum_string << endl;
        cout << "enum_int " << result->enum_int << endl;
        cout << "enum_string " << result->enum_string << endl;
        cout << "enum_kind " << result->att_enum_kind << endl;
        returnValue = 0; // Success
      }
  
  	bSuccess = true;
    } catch(AxisException &e) {
  			bool bSilent = false;
  
  			if( e.getExceptionCode() == CLIENT_TRANSPORT_OPEN_CONNECTION_FAILED)
  			{
  				if( iRetryIterationCount > 0)
  				{
  					bSilent = true;
  				}
  			}
  			else
  			{
  				iRetryIterationCount = 0;
  			}
  
              if( !bSilent)
  			{
      cerr << e.what() << endl;
  			}
    } catch(...) {
      cerr << "Unknown Exception occured." << endl;
    }
    try
    {
  	  delete ws;
  	  delete input;
  	  delete result;
    }
    catch(exception& exception)
    {
    	cout << "Exception when cleaning up: " << exception.what()<<endl;
    }
    catch(...)
    {
    	cout << "Unknown exception when cleaning up: "<<endl;
    }
  		iRetryIterationCount--;
  		} while( iRetryIterationCount > 0 && !bSuccess);
      if(endpoint_set)
        free(endpoint);
    cout << "---------------------- TEST COMPLETE -----------------------------"<< endl;
    printf("successful \n");
    return returnValue;
  }
  
  /* Spin through args list and check for -e -p and -s options.
     Option values are expected to follow the option letter as the next
     argument.
   
     These options and values are removed from the arg list.
     If both -e and -s and or -p, then -e takes priority
  */
  bool parse_args_for_endpoint(int *argc, char *argv[], char **endpoint) {
  
      // We need at least 2 extra arg after program name
      if(*argc < 3)
          return false;
  
      char *server = "localhost";
      int  port = 80;
      bool ep_set = false;
      bool server_set = false;
      bool port_set = false;
  
      for(int i=1; i<*argc; i++) {
          if(*argv[i] == '-') {
              switch(*(argv[i]+1)) {
              case 'e':
                  *endpoint = strdup(argv[i+1]);
                  ep_set = true;
                  shift_args(i, argc, argv);
                  i--;
                  break;
              case 's':
                  server = strdup(argv[i+1]);
                  server_set = true;
                  shift_args(i, argc, argv);
                  i--;
                  break;
              case 'p':
                  port = atoi(argv[i+1]);
                  if(port >80) port_set = true;
                  shift_args(i, argc, argv);
                  i--;
                  break;
              case 'o':
                  setLogOptions(argv[i+1]);
                  shift_args(i, argc, argv);
                  i--;
                  break;
              default:
                  break;
              }
          }
      }
  
      // use the supplied server and/or port to build the endpoint
      if(ep_set == false && (server_set || port_set)) {
          // Set p to the location of the first '/' after the http:// (7 chars)
          // e.g. from http://localhost:80/axis/base gets /axis/base
          char *ep_context = strpbrk(&(*endpoint)[7], "/");
  
          // http://:/ is 9 characters + terminating NULL character so add 10.
          // Allow space for port number upto 999999 6 chars
          *endpoint = (char *)calloc(1, 10 + strlen(ep_context) + strlen(server) + 6);
          sprintf(*endpoint, "http://%s:%d/%s", server, port, ep_context+1);
          if(server_set) free(server);
          ep_set = true;
      }
  
      return ep_set;
  }
  
  void shift_args(int i, int *argc, char *argv[]) {
      for(int j=i, k=i+2; j<*(argc)-2; j++, k++)
          argv[j]=argv[k];
      *argc-=2;
  }
  void setLogOptions(const char *output_filename) {
      output_file.open(output_filename, ios::out);
      if(output_file.is_open()){
          cout.rdbuf( output_file.rdbuf() );
      }
  }
  
  
  
  
  1.1                  ws-axis/c/samples/client/transportProperties/Client.cpp
  
  Index: Client.cpp
  ===================================================================
  /*
   * This client tests setting and getting the transport properties.
   * The test framework also verify the message content on the wire.
   */
  
  #include "Calculator.hpp"
  #include <stdio.h>
  #include <iostream>
  
  void printProperties(Calculator *obj);
  
  int main(int argc, char* argv[])
  {
  	char endpoint[256];
  	const char* url="http://localhost:80/axis/transportProperties";
  	int iResult;
  	int rc=1;
  
  	url = argv[1];
  
  		bool bSuccess = false;
  		int	iRetryIterationCount = 3;
  
  		do
  		{
  	try
  	{
  		sprintf(endpoint, "%s", url);
  		Calculator ws("http://localhost:80/axis/transportProperties");
  		ws.setTransportProperty("SOAPAction" , "transportProperties#add");
  		ws.setTransportProtocol(APTHTTP1_1);
  		ws.setTransportProperty("Accept-Language", " da, en-gb;q=0.8, en;q=0.7");
  		ws.setTransportProperty("Accept-Language", "l1");
  		ws.setTransportProperty("Date", "Mon Dec  6 13:37:06 GMT 2004");
  		ws.setTransportProperty("Accept-Language", "l22");
  		
  		cout << "Full properties list " << endl;
  		printProperties(&ws);
  
  		//deleting the transport with specific key value
  		ws.deleteTransportProperty("Accept-Language",2);
  
  		cout << "After deleteTransportProperty(key,int) method  " << endl;
  		printProperties(&ws);
  
  		//Go to the last property and delete
  		ws.getFirstTransportPropertyKey();
  		ws.getNextTransportPropertyKey();
  		ws.getNextTransportPropertyKey();
  		ws.deleteCurrentTransportProperty();
  		cout << "After deleteCurrentProperty method " << endl;
  		printProperties(&ws);
  		
  		iResult = ws.add(2,3);
  		cout << iResult << endl;
  		rc=0;
  		bSuccess = true;
  	}
  	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 << "Unknown exception has occured" << endl;
  	}
  	catch(...)
  	{
  		cout << "Unspecified exception has occured" << endl;
  	}
  		iRetryIterationCount--;
  		} while( iRetryIterationCount > 0 && !bSuccess);
    cout << "---------------------- TEST COMPLETE -----------------------------"<< endl;
    printf("successful \n");
  	return rc;
  }
  void printProperties(Calculator *obj)
  {
  	const char* transprop1;
  	transprop1 = obj->getFirstTransportPropertyKey();
  	do
  	{
  		transprop1 = obj->getCurrentTransportPropertyKey();
  		cout << "current transport property key = " << transprop1 ;
  		transprop1 = obj->getCurrentTransportPropertyValue();
  		cout << " value = " << transprop1 << endl;
  	}
  	while ( (transprop1 = obj->getNextTransportPropertyKey()) != NULL);
  	cout << "****************************************************** " << endl;
  	return ;	
  }
  
  
  
  1.1                  ws-axis/c/samples/server/bench/AxisBench.cpp
  
  Index: AxisBench.cpp
  ===================================================================
  // Copyright 2003-2004 The Apache Software Foundation.
  // 
  // 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.
  
  /*
   * This file was auto-generated by the Axis C++ Web Service Generator (WSDL2Ws)
   * This file contains definitions of the web service
   */
  
  #include "AxisBench.hpp"
  
  
  AxisBench::AxisBench()
  {
  }
  
  AxisBench::~AxisBench()
  {
  }
  
  /* This function is called by the AxisEngine when something went wrong
   with the current web service request processing. Appropriate actions should
   be taken here.*/
  void AxisBench::onFault()
  {
  }
  /* This function is called by the AxisEngine when this web service
   library is first loaded. So here we can initialize any global/static
   data structures of this web service or open database connections */
  void AxisBench::init()
  {
  }
  /* This function is called by the AxisEngine when this web service
   library is unloaded. So we can deallocate any global/static data structures
   and close database connections etc here. */
  void AxisBench::fini()
  {
  }
  BenchDataType* AxisBench::doBenchRequest(BenchDataType* Value0)
  {
      return Value0;
  }
  
  
  
  1.1                  ws-axis/c/samples/server/element/XSDElement.cpp
  
  Index: XSDElement.cpp
  ===================================================================
  /*
   * Copyright 2003-2004 The Apache Software Foundation.
  
   *
   * 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.
   *
   * This file was auto-generated by the Axis C++ Web Service Generator (WSDL2Ws)
   * This file contains definitions of the web service
   */
  
  #include "XSDElement.hpp"
  
  
  XSDElement::XSDElement()
  {
  }
  
  XSDElement::~XSDElement()
  {
  }
  
  /* This function is called by the AxisEngine when something went wrong
   with the current web service request processing. Appropriate actions should
   be taken here.*/
  void XSDElement::onFault()
  {
  }
  /* This function is called by the AxisEngine when this web service
   library is first loaded. So here we can initialize any global/static
   data structures of this web service or open database connections */
  void XSDElement::init()
  {
  }
  /* This function is called by the AxisEngine when this web service
   library is unloaded. So we can deallocate any global/static data structures
   and close database connections etc here. */
  void XSDElement::fini()
  {
  }
  xsd__int XSDElement::setGetDataInt(xsd__int Value0)  
  {
  	return Value0;
  }
  xsd__unsignedInt XSDElement::setGetDataUnsignedInt(xsd__unsignedInt Value0)  
  {
  	return Value0;
  }
  xsd__long XSDElement::setGetDataLong(xsd__long Value0)  
  {
  	return Value0;
  }
  xsd__unsignedLong XSDElement::setGetDataUnsignedLong(xsd__unsignedLong Value0)  
  {
  	return Value0;
  }
  xsd__double XSDElement::setGetDataDouble(xsd__double Value0)  
  {
  	return Value0;
  }
  xsd__float XSDElement::setGetDataFloat(xsd__float Value0)  
  {
  	return Value0;
  }
  xsd__byte XSDElement::setGetDataByte(xsd__byte Value0)  
  {
  	return Value0;
  }
  xsd__unsignedByte XSDElement::setGetDataUnsignedByte(xsd__unsignedByte Value0)  
  {
  	return Value0;
  }
  xsd__boolean XSDElement::setGetDataBoolean(xsd__boolean Value0)  
  {
  	return Value0;
  }
  xsd__string XSDElement::setGetDataString(xsd__string Value0)  
  {
  	return Value0;
  }
  xsd__short XSDElement::setGetDataShort(xsd__short Value0)  
  {
  	return Value0;
  }
  xsd__unsignedShort XSDElement::setGetDataUnsignedShort(xsd__unsignedShort Value0)  
  {
  	return Value0;
  }
  xsd__dateTime XSDElement::setGetDateTimeType(xsd__dateTime Value0)  
  {
  	return Value0;
  }
  xsd__date XSDElement::setGetDateType(xsd__date Value0)  
  {
  	return Value0;
  }
  xsd__duration XSDElement::setGetDataDurationType(xsd__duration Value0)  
  {
  	return Value0;
  }
  xsd__time XSDElement::setGetTimeType(xsd__time Value0)  
  {
  	return Value0;
  }
  xsd__base64Binary XSDElement::setGetBase64BinaryType(xsd__base64Binary Value0)  
  {
  	return Value0;
  }
  xsd__hexBinary XSDElement::setGetHexBinary(xsd__hexBinary Value0)  
  {
  	return Value0;
  }
  xsd__decimal XSDElement::setGetDecimalType(xsd__decimal Value0)  
  {
  	return Value0;
  }
  xsd__integer XSDElement::setGetIntegerType(xsd__integer Value0)  
  {
  	return Value0;
  }
  void XSDElement::setQNameType(xsd__QName Value0)  
  {
  }
  xsd__QName XSDElement::getQNameType()  
  {
  	return NULL;
  }
  void XSDElement::setAnyURIType(xsd__anyURI Value0)  
  {
  }
  xsd__anyURI XSDElement::getAnyURIType()  
  {
  	return NULL;
  }
  
  
  
  1.1                  ws-axis/c/samples/server/enumeration/EnumerationWS.cpp
  
  Index: EnumerationWS.cpp
  ===================================================================
  // Copyright 2003-2004 The Apache Software Foundation.
  // 
  // 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.
  
  /*
   * This file was auto-generated by the Axis C++ Web Service Generator (WSDL2Ws)
   * This file contains definitions of the web service
   */
  
  #include "EnumerationWS.hpp"
  
  
  EnumerationWS::EnumerationWS()
  {
  }
  
  EnumerationWS::~EnumerationWS()
  {
  }
  
  /* This function is called by the AxisEngine when something went wrong
   with the current web service request processing. Appropriate actions should
   be taken here.*/
  void EnumerationWS::onFault()
  {
  }
  /* This function is called by the AxisEngine when this web service
   library is first loaded. So here we can initialize any global/static
   data structures of this web service or open database connections */
  void EnumerationWS::init()
  {
  }
  /* This function is called by the AxisEngine when this web service
   library is unloaded. So we can deallocate any global/static data structures
   and close database connections etc here. */
  void EnumerationWS::fini()
  {
  }
  Type1* EnumerationWS::getInput(Type1* Value0)  
  {
  	return Value0;
  }
  
  
  
  1.1                  ws-axis/c/samples/server/transportProperties/Calculator.cpp
  
  Index: Calculator.cpp
  ===================================================================
  // Copyright 2003-2004 The Apache Software Foundation.
  // 
  // 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.
  
  /*
   *This is the Service implementation CPP file genarated by theWSDL2Ws.
   *		Calculator.cpp: implemtation for the Calculator.
   *
   */
  #include "Calculator.hpp"
  
  void Calculator::onFault(){}
  void Calculator::init(){}
  void Calculator::fini(){}
  
  Calculator::Calculator()
  {
  }
  
  Calculator::~Calculator()
  {
  }
  
  int Calculator::add(int Value0, int Value1)
  {
  	return Value0+Value1;
  }
  int Calculator::sub(int Value0, int Value1)
  {
  	return Value0-Value1;
  }
  int Calculator::mul(int Value0, int Value1)
  {
  	return Value0*Value1;
  }
  int Calculator::div(int Value0, int Value1)
  {
  	if (Value1 == 0) return -1; /* :)) */
  	return Value0/Value1;
  }