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(<, 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;
}