You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by su...@apache.org on 2003/10/21 17:09:05 UTC
cvs commit: ws-axis/c/src/server/samples/interoptests/groupC InteropGroupC.wsdl
susantha 2003/10/21 08:09:05
Added: c/src/server/samples/interoptests deploy.wsdd
c/src/server/samples/interoptests/base ArrayOfSOAPStruct.h
ArrayOffloat.h ArrayOfint.h ArrayOfstring.h
InteropBase.wsdl InteropTestPortType.cpp
InteropTestPortType.h
InteropTestPortTypeService.cpp
InteropTestPortTypeWrapper.cpp
InteropTestPortTypeWrapper.h SOAPStruct.cpp
SOAPStruct.h
c/src/server/samples/interoptests/groupB ArrayOfSOAPStruct.h
ArrayOfString2D.h ArrayOffloat.h ArrayOfint.h
ArrayOfstring.h InteropGroupB.wsdl
InteropTestPortTypeB.cpp InteropTestPortTypeB.h
InteropTestPortTypeBService.cpp
InteropTestPortTypeBWrapper.cpp
InteropTestPortTypeBWrapper.h SOAPArrayStruct.cpp
SOAPArrayStruct.h SOAPStruct.cpp SOAPStruct.h
SOAPStructStruct.cpp SOAPStructStruct.h
c/src/server/samples/interoptests/groupC InteropGroupC.wsdl
Log:
Added server samples for interop tests
Revision Changes Path
1.1 ws-axis/c/src/server/samples/interoptests/deploy.wsdd
Index: deploy.wsdd
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="InteropBase" provider="C:RPC">
<parameter name="allowedMethods" value="echoString EchoInt echoStringArray echoInteger echoIntegerArray echoFloat echoFloatArray echoStruct echoStructArray echoVoid echoBase64 echoDate echoHexBinary echoDecimal echoBoolean "/>
<parameter name="className" value="C:\susantha\ws-axis\InteropBaseServer\InteropBaseServer___Win32_Debug\InteropBaseServer.dll"/>
</service>
<service name="InteropGroupB" provider="C:RPC">
<parameter name="allowedMethods" value="echoSimpleTypesAsStruct echoNestedStruct echoNestedArray "/>
<parameter name="className" value="C:\susantha\ws-axis\InteropGroupBServer\Release\InteropGroupBServer.dll"/>
</service>
</deployment>
1.1 ws-axis/c/src/server/samples/interoptests/base/ArrayOfSOAPStruct.h
Index: ArrayOfSOAPStruct.h
===================================================================
///////////////////////////////////////////////////////////////////////////////////
//This file is automatically generated by the Axis C++ Wrapper Class Generator
//Web service wrapper class's implementation generated by Axis WCG
//Parameters and wrapper methos to manipulate ArrayOfSOAPStruct
////////////////////////////////////////////////////////////////////////////////////
#if !defined(__ARRAYOFSOAPSTRUCT_ARRAY_H__INCLUDED_)
#define __ARRAYOFSOAPSTRUCT_ARRAY_H__INCLUDED_
#include "SOAPStruct.h"
typedef struct ArrayOfSOAPStructTag
{
SOAPStruct* m_Array;
int m_Size;
} ArrayOfSOAPStruct;
#endif // !defined(__ARRAYOFSOAPSTRUCT_ARRAY_H__INCLUDED_)
1.1 ws-axis/c/src/server/samples/interoptests/base/ArrayOffloat.h
Index: ArrayOffloat.h
===================================================================
///////////////////////////////////////////////////////////////////////////////////
//This file is automatically generated by the Axis C++ Wrapper Class Generator
//Web service wrapper class's implementation generated by Axis WCG
//Parameters and wrapper methos to manipulate ArrayOffloat
////////////////////////////////////////////////////////////////////////////////////
#if !defined(__ARRAYOFFLOAT_ARRAY_H__INCLUDED_)
#define __ARRAYOFFLOAT_ARRAY_H__INCLUDED_
#include <axis/common/AxisUserAPI.h>
typedef struct ArrayOffloatTag
{
float* m_Array;
int m_Size;
} ArrayOffloat;
#endif // !defined(__ARRAYOFFLOAT_ARRAY_H__INCLUDED_)
1.1 ws-axis/c/src/server/samples/interoptests/base/ArrayOfint.h
Index: ArrayOfint.h
===================================================================
///////////////////////////////////////////////////////////////////////////////////
//This file is automatically generated by the Axis C++ Wrapper Class Generator
//Web service wrapper class's implementation generated by Axis WCG
//Parameters and wrapper methos to manipulate ArrayOfint
////////////////////////////////////////////////////////////////////////////////////
#if !defined(__ARRAYOFINT_ARRAY_H__INCLUDED_)
#define __ARRAYOFINT_ARRAY_H__INCLUDED_
#include <axis/common/AxisUserAPI.h>
typedef struct ArrayOfintTag
{
int* m_Array;
int m_Size;
} ArrayOfint;
#endif // !defined(__ARRAYOFINT_ARRAY_H__INCLUDED_)
1.1 ws-axis/c/src/server/samples/interoptests/base/ArrayOfstring.h
Index: ArrayOfstring.h
===================================================================
///////////////////////////////////////////////////////////////////////////////////
//This file is automatically generated by the Axis C++ Wrapper Class Generator
//Web service wrapper class's implementation generated by Axis WCG
//Parameters and wrapper methos to manipulate ArrayOfstring
////////////////////////////////////////////////////////////////////////////////////
#if !defined(__ARRAYOFSTRING_ARRAY_H__INCLUDED_)
#define __ARRAYOFSTRING_ARRAY_H__INCLUDED_
#include <axis/common/AxisUserAPI.h>
typedef struct ArrayOfstringTag
{
string* m_Array;
int m_Size;
} ArrayOfstring;
#endif // !defined(__ARRAYOFSTRING_ARRAY_H__INCLUDED_)
1.1 ws-axis/c/src/server/samples/interoptests/base/InteropBase.wsdl
Index: InteropBase.wsdl
===================================================================
<?xml version="1.0"?>
<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
<import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="ArrayOfstring">
<complexContent>
<restriction base="SOAP-ENC:Array">
<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="ArrayOfint">
<complexContent>
<restriction base="SOAP-ENC:Array">
<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="ArrayOffloat">
<complexContent>
<restriction base="SOAP-ENC:Array">
<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="ArrayOfSOAPStruct">
<complexContent>
<restriction base="SOAP-ENC:Array">
<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="SOAPStruct">
<all>
<element name="varString" type="string"/>
<element name="varInt" type="int"/>
<element name="varFloat" type="float"/>
</all>
</complexType>
</schema>
</types>
<message name="echoStringRequest">
<part name="inputString" type="xsd:string"/>
</message>
<message name="echoStringResponse">
<part name="return" type="xsd:string"/>
</message>
<message name="echoStringArrayRequest">
<part name="inputStringArray" type="s:ArrayOfstring"/>
</message>
<message name="echoStringArrayResponse">
<part name="return" type="s:ArrayOfstring"/>
</message>
<message name="echoIntegerRequest">
<part name="inputInteger" type="xsd:int"/>
</message>
<message name="echoIntegerResponse">
<part name="return" type="xsd:int"/>
</message>
<message name="echoIntegerArrayRequest">
<part name="inputIntegerArray" type="s:ArrayOfint"/>
</message>
<message name="echoIntegerArrayResponse">
<part name="return" type="s:ArrayOfint"/>
</message>
<message name="echoFloatRequest">
<part name="inputFloat" type="xsd:float"/>
</message>
<message name="echoFloatResponse">
<part name="return" type="xsd:float"/>
</message>
<message name="echoFloatArrayRequest">
<part name="inputFloatArray" type="s:ArrayOffloat"/>
</message>
<message name="echoFloatArrayResponse">
<part name="return" type="s:ArrayOffloat"/>
</message>
<message name="echoStructRequest">
<part name="inputStruct" type="s:SOAPStruct"/>
</message>
<message name="echoStructResponse">
<part name="return" type="s:SOAPStruct"/>
</message>
<message name="echoStructArrayRequest">
<part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
</message>
<message name="echoStructArrayResponse">
<part name="return" type="s:ArrayOfSOAPStruct"/>
</message>
<message name="echoVoidRequest"/>
<message name="echoVoidResponse"/>
<message name="echoBase64Request">
<part name="inputBase64" type="xsd:base64Binary"/>
</message>
<message name="echoBase64Response">
<part name="return" type="xsd:base64Binary"/>
</message>
<message name="echoDateRequest">
<part name="inputDate" type="xsd:dateTime"/>
</message>
<message name="echoDateResponse">
<part name="return" type="xsd:dateTime"/>
</message>
<message name="echoHexBinaryRequest">
<part name="inputHexBinary" type="xsd:hexBinary"/>
</message>
<message name="echoHexBinaryResponse">
<part name="return" type="xsd:hexBinary"/>
</message>
<message name="echoDecimalRequest">
<part name="inputDecimal" type="xsd:decimal"/>
</message>
<message name="echoDecimalResponse">
<part name="return" type="xsd:decimal"/>
</message>
<message name="echoBooleanRequest">
<part name="inputBoolean" type="xsd:boolean"/>
</message>
<message name="echoBooleanResponse">
<part name="return" type="xsd:boolean"/>
</message>
<portType name="InteropTestPortType">
<operation name="echoString" parameterOrder="inputString">
<input message="tns:echoStringRequest"/>
<output message="tns:echoStringResponse"/>
</operation>
<operation name="echoStringArray" parameterOrder="inputStringArray">
<input message="tns:echoStringArrayRequest"/>
<output message="tns:echoStringArrayResponse"/>
</operation>
<operation name="echoInteger" parameterOrder="inputInteger">
<input message="tns:echoIntegerRequest"/>
<output message="tns:echoIntegerResponse"/>
</operation>
<operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
<input message="tns:echoIntegerArrayRequest"/>
<output message="tns:echoIntegerArrayResponse"/>
</operation>
<operation name="echoFloat" parameterOrder="inputFloat">
<input message="tns:echoFloatRequest"/>
<output message="tns:echoFloatResponse"/>
</operation>
<operation name="echoFloatArray" parameterOrder="inputFloatArray">
<input message="tns:echoFloatArrayRequest"/>
<output message="tns:echoFloatArrayResponse"/>
</operation>
<operation name="echoStruct" parameterOrder="inputStruct">
<input message="tns:echoStructRequest"/>
<output message="tns:echoStructResponse"/>
</operation>
<operation name="echoStructArray" parameterOrder="inputStructArray">
<input message="tns:echoStructArrayRequest"/>
<output message="tns:echoStructArrayResponse"/>
</operation>
<operation name="echoVoid">
<input message="tns:echoVoidRequest"/>
<output message="tns:echoVoidResponse"/>
</operation>
<operation name="echoBase64" parameterOrder="inputBase64">
<input message="tns:echoBase64Request"/>
<output message="tns:echoBase64Response"/>
</operation>
<operation name="echoDate" parameterOrder="inputDate">
<input message="tns:echoDateRequest"/>
<output message="tns:echoDateResponse"/>
</operation>
<operation name="echoHexBinary" parameterOrder="inputHexBinary">
<input message="tns:echoHexBinaryRequest"/>
<output message="tns:echoHexBinaryResponse"/>
</operation>
<operation name="echoDecimal" parameterOrder="inputDecimal">
<input message="tns:echoDecimalRequest"/>
<output message="tns:echoDecimalResponse"/>
</operation>
<operation name="echoBoolean" parameterOrder="inputBoolean">
<input message="tns:echoBooleanRequest"/>
<output message="tns:echoBooleanResponse"/>
</operation>
</portType>
<binding name="InteropTestSoapBinding" type="tns:InteropTestPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="echoString">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoStringArray">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoInteger">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoIntegerArray">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoFloat">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoFloatArray">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoStruct">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoStructArray">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoVoid">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoBase64">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoDate">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoHexBinary">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoDecimal">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoBoolean">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
</binding>
<service name="InteropBase">
<port binding="tns:InteropTestSoapBinding" name="InteropBaseTest">
<soap:address location="http://localhost/axis/InteropBase"/>
</port>
</service>
</definitions>
1.1 ws-axis/c/src/server/samples/interoptests/base/InteropTestPortType.cpp
Index: InteropTestPortType.cpp
===================================================================
///////////////////////////////////////////////////////////////////////
//This is the Service implementation CPP file genarated by theWSDL2Ws.
// InteropTestPortType.cpp: implemtation for the InteropTestPortType.
//
//////////////////////////////////////////////////////////////////////
#include "InteropTestPortType.h"
InteropTestPortType::InteropTestPortType()
{
}
InteropTestPortType::~InteropTestPortType()
{
}
string InteropTestPortType::echoString(string Value0)
{
return Value0;
}
ArrayOfstring InteropTestPortType::echoStringArray(ArrayOfstring Value0)
{
return Value0;
}
int InteropTestPortType::echoInteger(int Value0)
{
return Value0;
}
ArrayOfint InteropTestPortType::echoIntegerArray(ArrayOfint Value0)
{
return Value0;
}
float InteropTestPortType::echoFloat(float Value0)
{
return Value0;
}
ArrayOffloat InteropTestPortType::echoFloatArray(ArrayOffloat Value0)
{
return Value0;
}
SOAPStruct* InteropTestPortType::echoStruct(SOAPStruct* Value0)
{
return Value0;
}
ArrayOfSOAPStruct InteropTestPortType::echoStructArray(ArrayOfSOAPStruct Value0)
{
return Value0;
}
void InteropTestPortType::echoVoid()
{
}
Axis_Base64Binary InteropTestPortType::echoBase64(Axis_Base64Binary Value0)
{
return Value0;
}
Axis_DateTime InteropTestPortType::echoDate(Axis_DateTime Value0)
{
return Value0;
}
Axis_HexBinary InteropTestPortType::echoHexBinary(Axis_HexBinary Value0)
{
return Value0;
}
Axis_Decimal InteropTestPortType::echoDecimal(Axis_Decimal Value0)
{
return Value0;
}
Axis_Boolean InteropTestPortType::echoBoolean(Axis_Boolean Value0)
{
return Value0;
}
1.1 ws-axis/c/src/server/samples/interoptests/base/InteropTestPortType.h
Index: InteropTestPortType.h
===================================================================
/////////////////////////////////////////////////////////////////////////////
// This is the Service Class genarated by the tool WSDL2Ws
// InteropTestPortType.h: interface for the InteropTestPortTypeclass.
//
//////////////////////////////////////////////////////////////////////
#if !defined(__INTEROPTESTPORTTYPE_SERVERSKELETON_H__INCLUDED_)
#define __INTEROPTESTPORTTYPE_SERVERSKELETON_H__INCLUDED_
#include <axis/common/AxisUserAPI.h>
#include "SOAPStruct.h"
#include "ArrayOffloat.h"
#include "ArrayOfSOAPStruct.h"
#include "ArrayOfint.h"
#include "ArrayOfstring.h"
class InteropTestPortType
{
public:
InteropTestPortType();
public:
virtual ~InteropTestPortType();
public:
string echoString(string Value0);
ArrayOfstring echoStringArray(ArrayOfstring Value0);
int echoInteger(int Value0);
ArrayOfint echoIntegerArray(ArrayOfint Value0);
float echoFloat(float Value0);
ArrayOffloat echoFloatArray(ArrayOffloat Value0);
SOAPStruct* echoStruct(SOAPStruct* Value0);
ArrayOfSOAPStruct echoStructArray(ArrayOfSOAPStruct Value0);
void echoVoid();
Axis_Base64Binary echoBase64(Axis_Base64Binary Value0);
Axis_DateTime echoDate(Axis_DateTime Value0);
Axis_HexBinary echoHexBinary(Axis_HexBinary Value0);
Axis_Decimal echoDecimal(Axis_Decimal Value0);
Axis_Boolean echoBoolean(Axis_Boolean Value0);
};
#endif // !defined(__INTEROPTESTPORTTYPE_SERVERSKELETON_H__INCLUDED_)
1.1 ws-axis/c/src/server/samples/interoptests/base/InteropTestPortTypeService.cpp
Index: InteropTestPortTypeService.cpp
===================================================================
// This file is automatically generated by the Axis C++ Wrapper Class Generator
// Service file containing the two export functions of the Web service Library
#ifdef WIN32
#define STORAGE_CLASS_INFO __declspec(dllexport)
#else
#define STORAGE_CLASS_INFO
#endif
#include "InteropTestPortTypeWrapper.h"
extern "C" {
STORAGE_CLASS_INFO
int GetClassInstance(BasicHandler **inst)
{
WrapperClassHandler* pWCH = new InteropTestPortTypeWrapper();
if (pWCH)
{
pWCH->Init();
*inst = pWCH;
return SUCCESS;
}
return FAIL;
}
STORAGE_CLASS_INFO
int DestroyInstance(BasicHandler *inst)
{
if (inst)
{
WrapperClassHandler* pWCH = static_cast<WrapperClassHandler*>(inst);
pWCH->Fini();
delete pWCH;
return SUCCESS;
}
return FAIL;
}
}
1.1 ws-axis/c/src/server/samples/interoptests/base/InteropTestPortTypeWrapper.cpp
Index: InteropTestPortTypeWrapper.cpp
===================================================================
///////////////////////////////////////////////////////////////////////
//This is the Service implementation CPP file genarated by theWSDL2Ws.
// InteropTestPortTypeWrapper.cpp: implemtation for the InteropTestPortTypeWrapper.
//
//////////////////////////////////////////////////////////////////////
#include "InteropTestPortTypeWrapper.h"
extern int Axis_DeSerialize_SOAPStruct(SOAPStruct* param, IWrapperSoapDeSerializer *pDZ);
extern void* Axis_Create_SOAPStruct(bool bArray = false, int nSize=0);
extern void Axis_Delete_SOAPStruct(SOAPStruct* param, bool bArray = false, int nSize=0);
extern int Axis_Serialize_SOAPStruct(SOAPStruct* param, IWrapperSoapSerializer& pSZ, bool bArray = false);
extern int Axis_GetSize_SOAPStruct();
InteropTestPortTypeWrapper::InteropTestPortTypeWrapper()
{
pWs = new InteropTestPortType();
}
InteropTestPortTypeWrapper::~InteropTestPortTypeWrapper()
{
delete pWs;
}
//implementation of WrapperClassHandler interface
void InteropTestPortTypeWrapper::OnFault(IMessageData *pMsg)
{
}
int InteropTestPortTypeWrapper::Init()
{
return SUCCESS;
}
int InteropTestPortTypeWrapper::Fini()
{
return SUCCESS;
}
/////////////////////////////////////////////////////////////////
// This method invokes the right service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeWrapper::Invoke(IMessageData *mc)
{
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
const AxisChar *method = pIWSDZ->GetMethodName();
if (0 == strcmp(method, "echoString"))
return echoString(mc);
else if (0 == strcmp(method, "echoStringArray"))
return echoStringArray(mc);
else if (0 == strcmp(method, "echoInteger"))
return echoInteger(mc);
else if (0 == strcmp(method, "echoIntegerArray"))
return echoIntegerArray(mc);
else if (0 == strcmp(method, "echoFloat"))
return echoFloat(mc);
else if (0 == strcmp(method, "echoFloatArray"))
return echoFloatArray(mc);
else if (0 == strcmp(method, "echoStruct"))
return echoStruct(mc);
else if (0 == strcmp(method, "echoStructArray"))
return echoStructArray(mc);
else if (0 == strcmp(method, "echoVoid"))
return echoVoid(mc);
else if (0 == strcmp(method, "echoBase64"))
return echoBase64(mc);
else if (0 == strcmp(method, "echoDate"))
return echoDate(mc);
else if (0 == strcmp(method, "echoHexBinary"))
return echoHexBinary(mc);
else if (0 == strcmp(method, "echoDecimal"))
return echoDecimal(mc);
else if (0 == strcmp(method, "echoBoolean"))
return echoBoolean(mc);
else return FAIL;
}
//Methods corresponding to the web service methods
/////////////////////////////////////////////////////////////////
// This method wrap the service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeWrapper::echoString(IMessageData* mc)
{
IWrapperSoapSerializer *pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ) return FAIL;
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
pIWSSZ->createSoapMethod("echoStringResponse", pIWSSZ->getNewNamespacePrefix(), "http://soapinterop.org/");
string v0 = pIWSDZ->GetString();
string ret = pWs->echoString(v0);
return pIWSSZ->AddOutputParam("echoStringReturn", ret, XSD_STRING);
}
/////////////////////////////////////////////////////////////////
// This method wrap the service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeWrapper::echoStringArray(IMessageData* mc)
{
IWrapperSoapSerializer *pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ) return FAIL;
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
pIWSSZ->createSoapMethod("echoStringArrayResponse", pIWSSZ->getNewNamespacePrefix(), "http://soapinterop.org/");
ArrayOfstring v0 = (ArrayOfstring&)pIWSDZ->GetArray(XSD_STRING);
ArrayOfstring ret = pWs->echoStringArray(v0);
return pIWSSZ->AddOutputParam("echoStringArrayReturn", (Axis_Array*)(&ret),XSD_STRING);
}
/////////////////////////////////////////////////////////////////
// This method wrap the service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeWrapper::echoInteger(IMessageData* mc)
{
IWrapperSoapSerializer *pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ) return FAIL;
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
pIWSSZ->createSoapMethod("echoIntegerResponse", pIWSSZ->getNewNamespacePrefix(), "http://soapinterop.org/");
int v0 = pIWSDZ->GetInt();
int ret = pWs->echoInteger(v0);
return pIWSSZ->AddOutputParam("echoIntegerReturn", ret, XSD_INT);
}
/////////////////////////////////////////////////////////////////
// This method wrap the service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeWrapper::echoIntegerArray(IMessageData* mc)
{
IWrapperSoapSerializer *pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ) return FAIL;
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
pIWSSZ->createSoapMethod("echoIntegerArrayResponse", pIWSSZ->getNewNamespacePrefix(), "http://soapinterop.org/");
ArrayOfint v0 = (ArrayOfint&)pIWSDZ->GetArray(XSD_INT);
ArrayOfint ret = pWs->echoIntegerArray(v0);
return pIWSSZ->AddOutputParam("echoIntegerArrayReturn", (Axis_Array*)(&ret),XSD_INT);
}
/////////////////////////////////////////////////////////////////
// This method wrap the service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeWrapper::echoFloat(IMessageData* mc)
{
IWrapperSoapSerializer *pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ) return FAIL;
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
pIWSSZ->createSoapMethod("echoFloatResponse", pIWSSZ->getNewNamespacePrefix(), "http://soapinterop.org/");
float v0 = pIWSDZ->GetFloat();
float ret = pWs->echoFloat(v0);
return pIWSSZ->AddOutputParam("echoFloatReturn", ret, XSD_FLOAT);
}
/////////////////////////////////////////////////////////////////
// This method wrap the service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeWrapper::echoFloatArray(IMessageData* mc)
{
IWrapperSoapSerializer *pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ) return FAIL;
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
pIWSSZ->createSoapMethod("echoFloatArrayResponse", pIWSSZ->getNewNamespacePrefix(), "http://soapinterop.org/");
ArrayOffloat v0 = (ArrayOffloat&)pIWSDZ->GetArray(XSD_FLOAT);
ArrayOffloat ret = pWs->echoFloatArray(v0);
return pIWSSZ->AddOutputParam("echoFloatArrayReturn", (Axis_Array*)(&ret),XSD_FLOAT);
}
/////////////////////////////////////////////////////////////////
// This method wrap the service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeWrapper::echoStruct(IMessageData* mc)
{
IWrapperSoapSerializer *pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ) return FAIL;
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
pIWSSZ->createSoapMethod("echoStructResponse", pIWSSZ->getNewNamespacePrefix(), "http://soapinterop.org/");
SOAPStruct *v0 = (SOAPStruct*)pIWSDZ->GetObject((AXIS_DESERIALIZE_FUNCT)Axis_DeSerialize_SOAPStruct
, (AXIS_OBJECT_CREATE_FUNCT)Axis_Create_SOAPStruct, (AXIS_OBJECT_DELETE_FUNCT)Axis_Delete_SOAPStruct
, Axis_TypeName_SOAPStruct, Axis_URI_SOAPStruct);
SOAPStruct *ret = pWs->echoStruct(v0);
return pIWSSZ->AddOutputParam("echoStructReturn", ret, (void*)Axis_Serialize_SOAPStruct, (void*)Axis_Delete_SOAPStruct);
}
/////////////////////////////////////////////////////////////////
// This method wrap the service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeWrapper::echoStructArray(IMessageData* mc)
{
IWrapperSoapSerializer *pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ) return FAIL;
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
pIWSSZ->createSoapMethod("echoStructArrayResponse", pIWSSZ->getNewNamespacePrefix(), "http://soapinterop.org/");
ArrayOfSOAPStruct v0 = (ArrayOfSOAPStruct&)pIWSDZ->GetArray((AXIS_DESERIALIZE_FUNCT)Axis_DeSerialize_SOAPStruct
, (AXIS_OBJECT_CREATE_FUNCT)Axis_Create_SOAPStruct, (AXIS_OBJECT_DELETE_FUNCT)Axis_Delete_SOAPStruct
, (AXIS_OBJECT_SIZE_FUNCT)Axis_GetSize_SOAPStruct, Axis_TypeName_SOAPStruct, Axis_URI_SOAPStruct);
ArrayOfSOAPStruct ret = pWs->echoStructArray(v0);
return pIWSSZ->AddOutputParam("echoStructArrayReturn", (Axis_Array*)(&ret),(void*) Axis_Serialize_SOAPStruct, (void*) Axis_Delete_SOAPStruct, (void*) Axis_GetSize_SOAPStruct, Axis_TypeName_SOAPStruct, Axis_URI_SOAPStruct);
}
/////////////////////////////////////////////////////////////////
// This method wrap the service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeWrapper::echoVoid(IMessageData* mc)
{
IWrapperSoapSerializer *pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ) return FAIL;
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
pIWSSZ->createSoapMethod("echoVoidResponse", pIWSSZ->getNewNamespacePrefix(), "http://soapinterop.org/");
pWs->echoVoid();
return SUCCESS;
}
/////////////////////////////////////////////////////////////////
// This method wrap the service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeWrapper::echoBase64(IMessageData* mc)
{
IWrapperSoapSerializer *pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ) return FAIL;
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
pIWSSZ->createSoapMethod("echoBase64Response", pIWSSZ->getNewNamespacePrefix(), "http://soapinterop.org/");
Axis_Base64Binary v0 = pIWSDZ->GetBase64String();
Axis_Base64Binary ret = pWs->echoBase64(v0);
return pIWSSZ->AddOutputParam("echoBase64Return", ret, XSD_BASE64BINARY);
}
/////////////////////////////////////////////////////////////////
// This method wrap the service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeWrapper::echoDate(IMessageData* mc)
{
IWrapperSoapSerializer *pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ) return FAIL;
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
pIWSSZ->createSoapMethod("echoDateResponse", pIWSSZ->getNewNamespacePrefix(), "http://soapinterop.org/");
Axis_DateTime v0 = pIWSDZ->GetDateTime();
Axis_DateTime ret = pWs->echoDate(v0);
return pIWSSZ->AddOutputParam("echoDateReturn", ret, XSD_DATETIME);
}
/////////////////////////////////////////////////////////////////
// This method wrap the service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeWrapper::echoHexBinary(IMessageData* mc)
{
IWrapperSoapSerializer *pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ) return FAIL;
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
pIWSSZ->createSoapMethod("echoHexBinaryResponse", pIWSSZ->getNewNamespacePrefix(), "http://soapinterop.org/");
Axis_HexBinary v0 = pIWSDZ->GetHexString();
Axis_HexBinary ret = pWs->echoHexBinary(v0);
return pIWSSZ->AddOutputParam("echoHexBinaryReturn", ret, XSD_HEXBINARY);
}
/////////////////////////////////////////////////////////////////
// This method wrap the service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeWrapper::echoDecimal(IMessageData* mc)
{
IWrapperSoapSerializer *pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ) return FAIL;
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
pIWSSZ->createSoapMethod("echoDecimalResponse", pIWSSZ->getNewNamespacePrefix(), "http://soapinterop.org/");
Axis_Decimal v0 = pIWSDZ->GetDecimal();
Axis_Decimal ret = pWs->echoDecimal(v0);
return pIWSSZ->AddOutputParam("echoDecimalReturn", ret, XSD_DECIMAL);
}
/////////////////////////////////////////////////////////////////
// This method wrap the service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeWrapper::echoBoolean(IMessageData* mc)
{
IWrapperSoapSerializer *pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ) return FAIL;
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
pIWSSZ->createSoapMethod("echoBooleanResponse", pIWSSZ->getNewNamespacePrefix(), "http://soapinterop.org/");
Axis_Boolean v0 = pIWSDZ->GetInt();
Axis_Boolean ret = pWs->echoBoolean(v0);
return pIWSSZ->AddOutputParam("echoBooleanReturn", ret, XSD_BOOLEAN);
}
1.1 ws-axis/c/src/server/samples/interoptests/base/InteropTestPortTypeWrapper.h
Index: InteropTestPortTypeWrapper.h
===================================================================
/////////////////////////////////////////////////////////////////////////////
// This is the Service Class genarated by the tool WSDL2Ws
// InteropTestPortTypeWrapper.h: interface for the InteropTestPortTypeWrapperclass.
//
//////////////////////////////////////////////////////////////////////
#if !defined(__INTEROPTESTPORTTYPEWRAPPER_SERVERWRAPPER_H__INCLUDED_)
#define __INTEROPTESTPORTTYPEWRAPPER_SERVERWRAPPER_H__INCLUDED_
#include "InteropTestPortType.h"
#include <axis/common/WrapperClassHandler.h>
#include <axis/common/IMessageData.h>
#include <axis/common/GDefine.h>
#include <axis/common/IWrapperSoapDeSerializer.h>
#include <axis/common/IWrapperSoapSerializer.h>
#include <axis/common/ISoapMethod.h>
#include <axis/common/IParam.h>
class InteropTestPortTypeWrapper : public WrapperClassHandler
{
private:// Actual web service object
InteropTestPortType *pWs;
public:
InteropTestPortTypeWrapper();
public:
virtual ~InteropTestPortTypeWrapper();
public://implementation of WrapperClassHandler interface
int Invoke(IMessageData* mc);
void OnFault(IMessageData* pMsg);
int Init();
int Fini();
private://Methods corresponding to the web service methods
int echoString(IMessageData* mc);
int echoStringArray(IMessageData* mc);
int echoInteger(IMessageData* mc);
int echoIntegerArray(IMessageData* mc);
int echoFloat(IMessageData* mc);
int echoFloatArray(IMessageData* mc);
int echoStruct(IMessageData* mc);
int echoStructArray(IMessageData* mc);
int echoVoid(IMessageData* mc);
int echoBase64(IMessageData* mc);
int echoDate(IMessageData* mc);
int echoHexBinary(IMessageData* mc);
int echoDecimal(IMessageData* mc);
int echoBoolean(IMessageData* mc);
};
#endif // !defined(__INTEROPTESTPORTTYPEWRAPPER_SERVERWRAPPER_H__INCLUDED_)
1.1 ws-axis/c/src/server/samples/interoptests/base/SOAPStruct.cpp
Index: SOAPStruct.cpp
===================================================================
///////////////////////////////////////////////////////////////////////////////////
//This file is automatically generated by the Axis C++ Wrapper Class Generator
//Web service wrapper class's implementation generated by Axis WCG
//Parameters and wrapper methos to manipulate SOAPStruct
////////////////////////////////////////////////////////////////////////////////////
#include "SOAPStruct.h"
#include <axis/common/IWrapperSoapDeSerializer.h>
#include <axis/common/IWrapperSoapSerializer.h>
#include <axis/common/IParam.h>
/////////////////////////////////////////////////////////////////////////////
// This static method serialize a SOAPStruct type of object
//////////////////////////////////////////////////////////////////////
int Axis_Serialize_SOAPStruct(SOAPStruct* param, IWrapperSoapSerializer& pSZ, bool bArray = false)
{
if (bArray)
{
pSZ << "<" << Axis_TypeName_SOAPStruct << ">";
}
else
{
const AxisChar* sPrefix = pSZ.getNewNamespacePrefix();
pSZ << "<" << Axis_TypeName_SOAPStruct << " xsi:type=\"" << sPrefix <<":"
<< Axis_TypeName_SOAPStruct << "\" xmlns:" << sPrefix << "=\""
<< Axis_URI_SOAPStruct << "\">";
}
pSZ << pSZ.SerializeBasicType("varString", param->varString, XSD_STRING);
pSZ << pSZ.SerializeBasicType("varInt", param->varInt, XSD_INT);
pSZ << pSZ.SerializeBasicType("varFloat", param->varFloat, XSD_FLOAT);
pSZ << "</" << Axis_TypeName_SOAPStruct << ">";
return SUCCESS;
}
/////////////////////////////////////////////////////////////////////////////
// This static method deserialize a SOAPStruct type of object
//////////////////////////////////////////////////////////////////////
int Axis_DeSerialize_SOAPStruct(SOAPStruct* param, IWrapperSoapDeSerializer *pIWSDZ)
{
param->varString = pIWSDZ->GetString();
param->varInt = pIWSDZ->GetInt();
param->varFloat = pIWSDZ->GetFloat();
return SUCCESS;
}
void* Axis_Create_SOAPStruct(bool bArray = false, int nSize=0)
{
if (bArray && (nSize > 0))
return new SOAPStruct[nSize];
else
return new SOAPStruct;
}
/////////////////////////////////////////////////////////////////////////////
// This static method delete a SOAPStruct type of object
//////////////////////////////////////////////////////////////////////
void Axis_Delete_SOAPStruct(SOAPStruct* param, bool bArray = false, int nSize=0)
{
if (bArray)
{
delete [] param;
}
else
{
//delete any pointer members or array members of this struct here
delete param;
}
}
/////////////////////////////////////////////////////////////////////////////
// This static method gives the size of SOAPStruct type of object
//////////////////////////////////////////////////////////////////////
int Axis_GetSize_SOAPStruct()
{
return sizeof(SOAPStruct);
}
1.1 ws-axis/c/src/server/samples/interoptests/base/SOAPStruct.h
Index: SOAPStruct.h
===================================================================
///////////////////////////////////////////////////////////////////////////////////
//This file is automatically generated by the Axis C++ Wrapper Class Generator
//Web service wrapper class's implementation generated by Axis WCG
//Parameters and wrapper methos to manipulate SOAPStruct
////////////////////////////////////////////////////////////////////////////////////
#if !defined(__SOAPSTRUCT_PARAM_H__INCLUDED_)
#define __SOAPSTRUCT_PARAM_H__INCLUDED_
#include <axis/common/AxisUserAPI.h>
//Local name and the URI for the type
static const char* Axis_URI_SOAPStruct = "http://soapinterop.org/xsd";
static const char* Axis_TypeName_SOAPStruct = "SOAPStruct";
class SOAPStruct
{
public:
string varString;
int varInt;
float varFloat;
};
#endif // !defined(__SOAPSTRUCT_PARAM_H__INCLUDED_)
1.1 ws-axis/c/src/server/samples/interoptests/groupB/ArrayOfSOAPStruct.h
Index: ArrayOfSOAPStruct.h
===================================================================
///////////////////////////////////////////////////////////////////////////////////
//This file is automatically generated by the Axis C++ Wrapper Class Generator
//Web service wrapper class's implementation generated by Axis WCG
//Parameters and wrapper methos to manipulate ArrayOfSOAPStruct
////////////////////////////////////////////////////////////////////////////////////
#if !defined(__ARRAYOFSOAPSTRUCT_ARRAY_H__INCLUDED_)
#define __ARRAYOFSOAPSTRUCT_ARRAY_H__INCLUDED_
#include "SOAPStruct.h"
typedef struct ArrayOfSOAPStructTag
{
SOAPStruct* m_Array;
int m_Size;
} ArrayOfSOAPStruct;
#endif // !defined(__ARRAYOFSOAPSTRUCT_ARRAY_H__INCLUDED_)
1.1 ws-axis/c/src/server/samples/interoptests/groupB/ArrayOfString2D.h
Index: ArrayOfString2D.h
===================================================================
///////////////////////////////////////////////////////////////////////////////////
//This file is automatically generated by the Axis C++ Wrapper Class Generator
//Web service wrapper class's implementation generated by Axis WCG
//Parameters and wrapper methos to manipulate ArrayOfString2D
////////////////////////////////////////////////////////////////////////////////////
#if !defined(__ARRAYOFSTRING2D_ARRAY_H__INCLUDED_)
#define __ARRAYOFSTRING2D_ARRAY_H__INCLUDED_
#include <axis/common/AxisUserAPI.h>
typedef struct ArrayOfString2DTag
{
string* m_Array;
int m_Size;
} ArrayOfString2D;
#endif // !defined(__ARRAYOFSTRING2D_ARRAY_H__INCLUDED_)
1.1 ws-axis/c/src/server/samples/interoptests/groupB/ArrayOffloat.h
Index: ArrayOffloat.h
===================================================================
///////////////////////////////////////////////////////////////////////////////////
//This file is automatically generated by the Axis C++ Wrapper Class Generator
//Web service wrapper class's implementation generated by Axis WCG
//Parameters and wrapper methos to manipulate ArrayOffloat
////////////////////////////////////////////////////////////////////////////////////
#if !defined(__ARRAYOFFLOAT_ARRAY_H__INCLUDED_)
#define __ARRAYOFFLOAT_ARRAY_H__INCLUDED_
#include <axis/common/AxisUserAPI.h>
typedef struct ArrayOffloatTag
{
float* m_Array;
int m_Size;
} ArrayOffloat;
#endif // !defined(__ARRAYOFFLOAT_ARRAY_H__INCLUDED_)
1.1 ws-axis/c/src/server/samples/interoptests/groupB/ArrayOfint.h
Index: ArrayOfint.h
===================================================================
///////////////////////////////////////////////////////////////////////////////////
//This file is automatically generated by the Axis C++ Wrapper Class Generator
//Web service wrapper class's implementation generated by Axis WCG
//Parameters and wrapper methos to manipulate ArrayOfint
////////////////////////////////////////////////////////////////////////////////////
#if !defined(__ARRAYOFINT_ARRAY_H__INCLUDED_)
#define __ARRAYOFINT_ARRAY_H__INCLUDED_
#include <axis/common/AxisUserAPI.h>
typedef struct ArrayOfintTag
{
int* m_Array;
int m_Size;
} ArrayOfint;
#endif // !defined(__ARRAYOFINT_ARRAY_H__INCLUDED_)
1.1 ws-axis/c/src/server/samples/interoptests/groupB/ArrayOfstring.h
Index: ArrayOfstring.h
===================================================================
///////////////////////////////////////////////////////////////////////////////////
//This file is automatically generated by the Axis C++ Wrapper Class Generator
//Web service wrapper class's implementation generated by Axis WCG
//Parameters and wrapper methos to manipulate ArrayOfstring
////////////////////////////////////////////////////////////////////////////////////
#if !defined(__ARRAYOFSTRING_ARRAY_H__INCLUDED_)
#define __ARRAYOFSTRING_ARRAY_H__INCLUDED_
#include <axis/common/AxisUserAPI.h>
typedef struct ArrayOfstringTag
{
string* m_Array;
int m_Size;
} ArrayOfstring;
#endif // !defined(__ARRAYOFSTRING_ARRAY_H__INCLUDED_)
1.1 ws-axis/c/src/server/samples/interoptests/groupB/InteropGroupB.wsdl
Index: InteropGroupB.wsdl
===================================================================
<?xml version="1.0"?>
<definitions name="InteropTestB" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
<import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="ArrayOfstring">
<complexContent>
<restriction base="SOAP-ENC:Array">
<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="ArrayOfint">
<complexContent>
<restriction base="SOAP-ENC:Array">
<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="ArrayOffloat">
<complexContent>
<restriction base="SOAP-ENC:Array">
<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="ArrayOfSOAPStruct">
<complexContent>
<restriction base="SOAP-ENC:Array">
<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="SOAPStruct">
<all>
<element name="varString" type="string"/>
<element name="varInt" type="int"/>
<element name="varFloat" type="float"/>
</all>
</complexType>
<complexType name="SOAPStructStruct">
<all>
<element name="varString" type="string"/>
<element name="varInt" type="int"/>
<element name="varFloat" type="float"/>
<element name="varStruct" type="s:SOAPStruct"/>
</all>
</complexType>
<complexType name="SOAPArrayStruct">
<all>
<element name="varString" type="string"/>
<element name="varInt" type="int"/>
<element name="varFloat" type="float"/>
<element name="varArray" type="s:ArrayOfstring"/>
</all>
</complexType>
<complexType name="ArrayOfString2D">
<complexContent>
<restriction base="SOAP-ENC:Array">
<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:string[,]"/>
</restriction>
</complexContent>
</complexType>
</schema>
</types>
<message name="echoStructAsSimpleTypesRequest">
<part name="inputStruct" type="s:SOAPStruct"/>
</message>
<message name="echoStructAsSimpleTypesResponse">
<part name="outputString" type="xsd:string"/>
<part name="outputInteger" type="xsd:int"/>
<part name="outputFloat" type="xsd:float"/>
</message>
<message name="echoSimpleTypesAsStructRequest">
<part name="inputString" type="xsd:string"/>
<part name="inputInteger" type="xsd:int"/>
<part name="inputFloat" type="xsd:float"/>
</message>
<message name="echoSimpleTypesAsStructResponse">
<part name="return" type="s:SOAPStruct"/>
</message>
<message name="echo2DStringArrayRequest">
<part name="input2DStringArray" type="s:ArrayOfString2D"/>
</message>
<message name="echo2DStringArrayResponse">
<part name="return" type="s:ArrayOfString2D"/>
</message>
<message name="echoNestedStructRequest">
<part name="inputStruct" type="s:SOAPStructStruct"/>
</message>
<message name="echoNestedStructResponse">
<part name="return" type="s:SOAPStructStruct"/>
</message>
<message name="echoNestedArrayRequest">
<part name="inputStruct" type="s:SOAPArrayStruct"/>
</message>
<message name="echoNestedArrayResponse">
<part name="return" type="s:SOAPArrayStruct"/>
</message>
<portType name="InteropTestPortTypeB">
<operation name="echoStructAsSimpleTypes" parameterOrder="inputStruct outputString outputInteger outputFloat">
<input message="tns:echoStructAsSimpleTypesRequest"/>
<output message="tns:echoStructAsSimpleTypesResponse"/>
</operation>
<operation name="echoSimpleTypesAsStruct" parameterOrder="inputString inputInteger inputFloat">
<input message="tns:echoSimpleTypesAsStructRequest"/>
<output message="tns:echoSimpleTypesAsStructResponse"/>
</operation>
<operation name="echo2DStringArray" parameterOrder="input2DStringArray">
<input message="tns:echo2DStringArrayRequest"/>
<output message="tns:echo2DStringArrayResponse"/>
</operation>
<operation name="echoNestedStruct" parameterOrder="inputStruct">
<input message="tns:echoNestedStructRequest"/>
<output message="tns:echoNestedStructResponse"/>
</operation>
<operation name="echoNestedArray" parameterOrder="inputStruct">
<input message="tns:echoNestedArrayRequest"/>
<output message="tns:echoNestedArrayResponse"/>
</operation>
</portType>
<binding name="InteropTestSoapBindingB" type="tns:InteropTestPortTypeB">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="echoStructAsSimpleTypes">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoSimpleTypesAsStruct">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echo2DStringArray">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoNestedStruct">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoNestedArray">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
</binding>
<service name="InteropGroupB">
<port binding="tns:InteropTestSoapBindingB" name="InteropGroupBTest">
<soap:address location="http://localhost/axis/InteropGroupB"/>
</port>
</service>
</definitions>
1.1 ws-axis/c/src/server/samples/interoptests/groupB/InteropTestPortTypeB.cpp
Index: InteropTestPortTypeB.cpp
===================================================================
///////////////////////////////////////////////////////////////////////
//This is the Service implementation CPP file genarated by theWSDL2Ws.
// InteropTestPortTypeB.cpp: implemtation for the InteropTestPortTypeB.
//
//////////////////////////////////////////////////////////////////////
#include "InteropTestPortTypeB.h"
InteropTestPortTypeB::InteropTestPortTypeB()
{
}
InteropTestPortTypeB::~InteropTestPortTypeB()
{
}
float InteropTestPortTypeB::echoStructAsSimpleTypes(SOAPStruct* Value0)
{
return Value0->varFloat;
}
SOAPStruct* InteropTestPortTypeB::echoSimpleTypesAsStruct(float Value0, int Value1, string Value2)
{
SOAPStruct* pRet = new SOAPStruct();
pRet->varFloat = Value0;
pRet->varInt = Value1;
pRet->varString = Value2;
return pRet;
}
ArrayOfString2D InteropTestPortTypeB::echo2DStringArray(ArrayOfString2D Value0)
{
return Value0;
}
SOAPStructStruct* InteropTestPortTypeB::echoNestedStruct(SOAPStructStruct* Value0)
{
return Value0;
}
SOAPArrayStruct* InteropTestPortTypeB::echoNestedArray(SOAPArrayStruct* Value0)
{
return Value0;
}
1.1 ws-axis/c/src/server/samples/interoptests/groupB/InteropTestPortTypeB.h
Index: InteropTestPortTypeB.h
===================================================================
/////////////////////////////////////////////////////////////////////////////
// This is the Service Class genarated by the tool WSDL2Ws
// InteropTestPortTypeB.h: interface for the InteropTestPortTypeBclass.
//
//////////////////////////////////////////////////////////////////////
#if !defined(__INTEROPTESTPORTTYPEB_SERVERSKELETON_H__INCLUDED_)
#define __INTEROPTESTPORTTYPEB_SERVERSKELETON_H__INCLUDED_
#include <axis/common/AxisUserAPI.h>
#include "SOAPArrayStruct.h"
#include "SOAPStruct.h"
#include "ArrayOffloat.h"
#include "ArrayOfSOAPStruct.h"
#include "ArrayOfint.h"
#include "ArrayOfString2D.h"
#include "SOAPStructStruct.h"
#include "ArrayOfstring.h"
class InteropTestPortTypeB
{
public:
InteropTestPortTypeB();
public:
virtual ~InteropTestPortTypeB();
public:
float echoStructAsSimpleTypes(SOAPStruct* Value0);
SOAPStruct* echoSimpleTypesAsStruct(float Value0,int Value1,string Value2);
ArrayOfString2D echo2DStringArray(ArrayOfString2D Value0);
SOAPStructStruct* echoNestedStruct(SOAPStructStruct* Value0);
SOAPArrayStruct* echoNestedArray(SOAPArrayStruct* Value0);
};
#endif // !defined(__INTEROPTESTPORTTYPEB_SERVERSKELETON_H__INCLUDED_)
1.1 ws-axis/c/src/server/samples/interoptests/groupB/InteropTestPortTypeBService.cpp
Index: InteropTestPortTypeBService.cpp
===================================================================
// This file is automatically generated by the Axis C++ Wrapper Class Generator
// Service file containing the two export functions of the Web service Library
#ifdef WIN32
#define STORAGE_CLASS_INFO __declspec(dllexport)
#else
#define STORAGE_CLASS_INFO
#endif
#include "InteropTestPortTypeBWrapper.h"
extern "C" {
STORAGE_CLASS_INFO
int GetClassInstance(BasicHandler **inst)
{
WrapperClassHandler* pWCH = new InteropTestPortTypeBWrapper();
if (pWCH)
{
pWCH->Init();
*inst = pWCH;
return SUCCESS;
}
return FAIL;
}
STORAGE_CLASS_INFO
int DestroyInstance(BasicHandler *inst)
{
if (inst)
{
WrapperClassHandler* pWCH = static_cast<WrapperClassHandler*>(inst);
pWCH->Fini();
delete pWCH;
return SUCCESS;
}
return FAIL;
}
}
1.1 ws-axis/c/src/server/samples/interoptests/groupB/InteropTestPortTypeBWrapper.cpp
Index: InteropTestPortTypeBWrapper.cpp
===================================================================
///////////////////////////////////////////////////////////////////////
//This is the Service implementation CPP file genarated by theWSDL2Ws.
// InteropTestPortTypeBWrapper.cpp: implemtation for the InteropTestPortTypeBWrapper.
//
//////////////////////////////////////////////////////////////////////
#include "InteropTestPortTypeBWrapper.h"
extern int Axis_DeSerialize_SOAPStruct(SOAPStruct* param, IWrapperSoapDeSerializer *pDZ);
extern void* Axis_Create_SOAPStruct(bool bArray = false, int nSize=0);
extern void Axis_Delete_SOAPStruct(SOAPStruct* param, bool bArray = false, int nSize=0);
extern int Axis_Serialize_SOAPStruct(SOAPStruct* param, IWrapperSoapSerializer& pSZ, bool bArray = false);
extern int Axis_GetSize_SOAPStruct();
extern int Axis_DeSerialize_SOAPArrayStruct(SOAPArrayStruct* param, IWrapperSoapDeSerializer *pDZ);
extern void* Axis_Create_SOAPArrayStruct(bool bArray = false, int nSize=0);
extern void Axis_Delete_SOAPArrayStruct(SOAPArrayStruct* param, bool bArray = false, int nSize=0);
extern int Axis_Serialize_SOAPArrayStruct(SOAPArrayStruct* param, IWrapperSoapSerializer& pSZ, bool bArray = false);
extern int Axis_GetSize_SOAPArrayStruct();
extern int Axis_DeSerialize_SOAPStructStruct(SOAPStructStruct* param, IWrapperSoapDeSerializer *pDZ);
extern void* Axis_Create_SOAPStructStruct(bool bArray = false, int nSize=0);
extern void Axis_Delete_SOAPStructStruct(SOAPStructStruct* param, bool bArray = false, int nSize=0);
extern int Axis_Serialize_SOAPStructStruct(SOAPStructStruct* param, IWrapperSoapSerializer& pSZ, bool bArray = false);
extern int Axis_GetSize_SOAPStructStruct();
InteropTestPortTypeBWrapper::InteropTestPortTypeBWrapper()
{
pWs = new InteropTestPortTypeB();
}
InteropTestPortTypeBWrapper::~InteropTestPortTypeBWrapper()
{
delete pWs;
}
//implementation of WrapperClassHandler interface
void InteropTestPortTypeBWrapper::OnFault(IMessageData *pMsg)
{
}
int InteropTestPortTypeBWrapper::Init()
{
return SUCCESS;
}
int InteropTestPortTypeBWrapper::Fini()
{
return SUCCESS;
}
/////////////////////////////////////////////////////////////////
// This method invokes the right service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeBWrapper::Invoke(IMessageData *mc)
{
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
const AxisChar *method = pIWSDZ->GetMethodName();
if (0 == strcmp(method, "echoStructAsSimpleTypes"))
return echoStructAsSimpleTypes(mc);
else if (0 == strcmp(method, "echoSimpleTypesAsStruct"))
return echoSimpleTypesAsStruct(mc);
else if (0 == strcmp(method, "echo2DStringArray"))
return echo2DStringArray(mc);
else if (0 == strcmp(method, "echoNestedStruct"))
return echoNestedStruct(mc);
else if (0 == strcmp(method, "echoNestedArray"))
return echoNestedArray(mc);
else return FAIL;
}
//Methods corresponding to the web service methods
/////////////////////////////////////////////////////////////////
// This method wrap the service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeBWrapper::echoStructAsSimpleTypes(IMessageData* mc)
{
IWrapperSoapSerializer *pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ) return FAIL;
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
pIWSSZ->createSoapMethod("echoStructAsSimpleTypesResponse", pIWSSZ->getNewNamespacePrefix(), "http://soapinterop.org/");
SOAPStruct *v0 = (SOAPStruct*)pIWSDZ->GetObject((AXIS_DESERIALIZE_FUNCT)Axis_DeSerialize_SOAPStruct
, (AXIS_OBJECT_CREATE_FUNCT)Axis_Create_SOAPStruct, (AXIS_OBJECT_DELETE_FUNCT)Axis_Delete_SOAPStruct
, Axis_TypeName_SOAPStruct, Axis_URI_SOAPStruct);
float ret = pWs->echoStructAsSimpleTypes(v0);
return pIWSSZ->AddOutputParam("echoStructAsSimpleTypesReturn", ret, XSD_FLOAT);
}
/////////////////////////////////////////////////////////////////
// This method wrap the service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeBWrapper::echoSimpleTypesAsStruct(IMessageData* mc)
{
IWrapperSoapSerializer *pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ) return FAIL;
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
pIWSSZ->createSoapMethod("echoSimpleTypesAsStructResponse", pIWSSZ->getNewNamespacePrefix(), "http://soapinterop.org/");
float v0 = pIWSDZ->GetFloat();
int v1 = pIWSDZ->GetInt();
string v2 = pIWSDZ->GetString();
SOAPStruct *ret = pWs->echoSimpleTypesAsStruct(v0,v1,v2);
return pIWSSZ->AddOutputParam("echoSimpleTypesAsStructReturn", ret, (void*)Axis_Serialize_SOAPStruct, (void*)Axis_Delete_SOAPStruct);
}
/////////////////////////////////////////////////////////////////
// This method wrap the service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeBWrapper::echo2DStringArray(IMessageData* mc)
{
IWrapperSoapSerializer *pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ) return FAIL;
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
pIWSSZ->createSoapMethod("echo2DStringArrayResponse", pIWSSZ->getNewNamespacePrefix(), "http://soapinterop.org/");
ArrayOfString2D v0;
v0.m_Size = pIWSDZ->GetArraySize();
if (v0.m_Size < 1) return FAIL;
v0.m_Array = new string[v0.m_Size];
if (SUCCESS != pIWSDZ->GetArray((Axis_Array*)(&v0), XSD_STRING)) return FAIL;
ArrayOfString2D ret = pWs->echo2DStringArray(v0);
return pIWSSZ->AddOutputParam("echo2DStringArrayReturn", (Axis_Array*)(&ret),XSD_STRING);
}
/////////////////////////////////////////////////////////////////
// This method wrap the service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeBWrapper::echoNestedStruct(IMessageData* mc)
{
IWrapperSoapSerializer *pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ) return FAIL;
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
pIWSSZ->createSoapMethod("echoNestedStructResponse", pIWSSZ->getNewNamespacePrefix(), "http://soapinterop.org/");
SOAPStructStruct *v0 = (SOAPStructStruct*)pIWSDZ->GetObject((AXIS_DESERIALIZE_FUNCT)Axis_DeSerialize_SOAPStructStruct
, (AXIS_OBJECT_CREATE_FUNCT)Axis_Create_SOAPStructStruct, (AXIS_OBJECT_DELETE_FUNCT)Axis_Delete_SOAPStructStruct
, Axis_TypeName_SOAPStructStruct, Axis_URI_SOAPStructStruct);
SOAPStructStruct *ret = pWs->echoNestedStruct(v0);
return pIWSSZ->AddOutputParam("echoNestedStructReturn", ret, (void*)Axis_Serialize_SOAPStructStruct, (void*)Axis_Delete_SOAPStructStruct);
}
/////////////////////////////////////////////////////////////////
// This method wrap the service method
//////////////////////////////////////////////////////////////////
int InteropTestPortTypeBWrapper::echoNestedArray(IMessageData* mc)
{
IWrapperSoapSerializer *pIWSSZ = NULL;
mc->getSoapSerializer(&pIWSSZ);
if (!pIWSSZ) return FAIL;
IWrapperSoapDeSerializer *pIWSDZ = NULL;
mc->getSoapDeSerializer(&pIWSDZ);
if (!pIWSDZ) return FAIL;
pIWSSZ->createSoapMethod("echoNestedArrayResponse", pIWSSZ->getNewNamespacePrefix(), "http://soapinterop.org/");
SOAPArrayStruct *v0 = (SOAPArrayStruct*)pIWSDZ->GetObject((AXIS_DESERIALIZE_FUNCT)Axis_DeSerialize_SOAPArrayStruct
, (AXIS_OBJECT_CREATE_FUNCT)Axis_Create_SOAPArrayStruct, (AXIS_OBJECT_DELETE_FUNCT)Axis_Delete_SOAPArrayStruct
, Axis_TypeName_SOAPArrayStruct, Axis_URI_SOAPArrayStruct);
SOAPArrayStruct *ret = pWs->echoNestedArray(v0);
return pIWSSZ->AddOutputParam("echoNestedArrayReturn", ret, (void*)Axis_Serialize_SOAPArrayStruct, (void*)Axis_Delete_SOAPArrayStruct);
}
1.1 ws-axis/c/src/server/samples/interoptests/groupB/InteropTestPortTypeBWrapper.h
Index: InteropTestPortTypeBWrapper.h
===================================================================
/////////////////////////////////////////////////////////////////////////////
// This is the Service Class genarated by the tool WSDL2Ws
// InteropTestPortTypeBWrapper.h: interface for the InteropTestPortTypeBWrapperclass.
//
//////////////////////////////////////////////////////////////////////
#if !defined(__INTEROPTESTPORTTYPEBWRAPPER_SERVERWRAPPER_H__INCLUDED_)
#define __INTEROPTESTPORTTYPEBWRAPPER_SERVERWRAPPER_H__INCLUDED_
#include "InteropTestPortTypeB.h"
#include <axis/common/WrapperClassHandler.h>
#include <axis/common/IMessageData.h>
#include <axis/common/GDefine.h>
#include <axis/common/IWrapperSoapDeSerializer.h>
#include <axis/common/IWrapperSoapSerializer.h>
#include <axis/common/ISoapMethod.h>
#include <axis/common/IParam.h>
class InteropTestPortTypeBWrapper : public WrapperClassHandler
{
private:// Actual web service object
InteropTestPortTypeB *pWs;
public:
InteropTestPortTypeBWrapper();
public:
virtual ~InteropTestPortTypeBWrapper();
public://implementation of WrapperClassHandler interface
int Invoke(IMessageData* mc);
void OnFault(IMessageData* pMsg);
int Init();
int Fini();
private://Methods corresponding to the web service methods
int echoStructAsSimpleTypes(IMessageData* mc);
int echoSimpleTypesAsStruct(IMessageData* mc);
int echo2DStringArray(IMessageData* mc);
int echoNestedStruct(IMessageData* mc);
int echoNestedArray(IMessageData* mc);
};
#endif // !defined(__INTEROPTESTPORTTYPEBWRAPPER_SERVERWRAPPER_H__INCLUDED_)
1.1 ws-axis/c/src/server/samples/interoptests/groupB/SOAPArrayStruct.cpp
Index: SOAPArrayStruct.cpp
===================================================================
///////////////////////////////////////////////////////////////////////////////////
//This file is automatically generated by the Axis C++ Wrapper Class Generator
//Web service wrapper class's implementation generated by Axis WCG
//Parameters and wrapper methos to manipulate SOAPArrayStruct
////////////////////////////////////////////////////////////////////////////////////
#include "SOAPArrayStruct.h"
#include <axis/common/IWrapperSoapDeSerializer.h>
#include <axis/common/IWrapperSoapSerializer.h>
#include <axis/common/IParam.h>
/////////////////////////////////////////////////////////////////////////////
// This static method serialize a SOAPArrayStruct type of object
//////////////////////////////////////////////////////////////////////
int Axis_Serialize_SOAPArrayStruct(SOAPArrayStruct* param, IWrapperSoapSerializer& pSZ, bool bArray = false)
{
if (bArray)
{
pSZ << "<" << Axis_TypeName_SOAPArrayStruct << ">";
}
else
{
const AxisChar* sPrefix = pSZ.getNewNamespacePrefix();
pSZ << "<" << Axis_TypeName_SOAPArrayStruct << " xsi:type=\"" << sPrefix <<":"
<< Axis_TypeName_SOAPArrayStruct << "\" xmlns:" << sPrefix << "=\""
<< Axis_URI_SOAPArrayStruct << "\">";
}
pSZ << pSZ.SerializeBasicType("varString", param->varString, XSD_STRING);
pSZ << pSZ.SerializeBasicType("varInt", param->varInt, XSD_INT);
pSZ << pSZ.SerializeBasicType("varFloat", param->varFloat, XSD_FLOAT);
pSZ.SerializeArray((Axis_Array*)(¶m->varArray),XSD_STRING, "varArray");
pSZ << "</" << Axis_TypeName_SOAPArrayStruct << ">";
return SUCCESS;
}
/////////////////////////////////////////////////////////////////////////////
// This static method deserialize a SOAPArrayStruct type of object
//////////////////////////////////////////////////////////////////////
int Axis_DeSerialize_SOAPArrayStruct(SOAPArrayStruct* param, IWrapperSoapDeSerializer *pIWSDZ)
{
param->varString = pIWSDZ->GetString();
param->varInt = pIWSDZ->GetInt();
param->varFloat = pIWSDZ->GetFloat();
param->varArray.m_Size = pIWSDZ->GetArraySize();
if (param->varArray.m_Size < 1) return FAIL;
param->varArray.m_Array = new string[param->varArray.m_Size];
if (SUCCESS != pIWSDZ->GetArray((Axis_Array*)(¶m->varArray), XSD_STRING)) return FAIL;
return SUCCESS;
}
void* Axis_Create_SOAPArrayStruct(bool bArray = false, int nSize=0)
{
if (bArray && (nSize > 0))
return new SOAPArrayStruct[nSize];
else
return new SOAPArrayStruct;
}
/////////////////////////////////////////////////////////////////////////////
// This static method delete a SOAPArrayStruct type of object
//////////////////////////////////////////////////////////////////////
void Axis_Delete_SOAPArrayStruct(SOAPArrayStruct* param, bool bArray = false, int nSize=0)
{
if (bArray)
{
//delete any pointer members or array members of this struct here
SOAPArrayStruct* pTemp = param;
for (int x=0; x<nSize; x++)
{
delete [] ((string*)pTemp->varArray.m_Array);
pTemp++;
}
delete [] param;
}
else
{
//delete any pointer members or array members of this struct here
delete [] ((string*)param->varArray.m_Array);
delete param;
}
}
/////////////////////////////////////////////////////////////////////////////
// This static method gives the size of SOAPArrayStruct type of object
//////////////////////////////////////////////////////////////////////
int Axis_GetSize_SOAPArrayStruct()
{
return sizeof(SOAPArrayStruct);
}
1.1 ws-axis/c/src/server/samples/interoptests/groupB/SOAPArrayStruct.h
Index: SOAPArrayStruct.h
===================================================================
///////////////////////////////////////////////////////////////////////////////////
//This file is automatically generated by the Axis C++ Wrapper Class Generator
//Web service wrapper class's implementation generated by Axis WCG
//Parameters and wrapper methos to manipulate SOAPArrayStruct
////////////////////////////////////////////////////////////////////////////////////
#if !defined(__SOAPARRAYSTRUCT_PARAM_H__INCLUDED_)
#define __SOAPARRAYSTRUCT_PARAM_H__INCLUDED_
#include <axis/common/AxisUserAPI.h>
#include "ArrayOfstring.h"
//Local name and the URI for the type
static const char* Axis_URI_SOAPArrayStruct = "http://soapinterop.org/xsd";
static const char* Axis_TypeName_SOAPArrayStruct = "SOAPArrayStruct";
class SOAPArrayStruct
{
public:
string varString;
int varInt;
float varFloat;
ArrayOfstring varArray;
};
#endif // !defined(__SOAPARRAYSTRUCT_PARAM_H__INCLUDED_)
1.1 ws-axis/c/src/server/samples/interoptests/groupB/SOAPStruct.cpp
Index: SOAPStruct.cpp
===================================================================
///////////////////////////////////////////////////////////////////////////////////
//This file is automatically generated by the Axis C++ Wrapper Class Generator
//Web service wrapper class's implementation generated by Axis WCG
//Parameters and wrapper methos to manipulate SOAPStruct
////////////////////////////////////////////////////////////////////////////////////
#include "SOAPStruct.h"
#include <axis/common/IWrapperSoapDeSerializer.h>
#include <axis/common/IWrapperSoapSerializer.h>
#include <axis/common/IParam.h>
/////////////////////////////////////////////////////////////////////////////
// This static method serialize a SOAPStruct type of object
//////////////////////////////////////////////////////////////////////
int Axis_Serialize_SOAPStruct(SOAPStruct* param, IWrapperSoapSerializer& pSZ, bool bArray = false)
{
if (bArray)
{
pSZ << "<" << Axis_TypeName_SOAPStruct << ">";
}
else
{
const AxisChar* sPrefix = pSZ.getNewNamespacePrefix();
pSZ << "<" << Axis_TypeName_SOAPStruct << " xsi:type=\"" << sPrefix <<":"
<< Axis_TypeName_SOAPStruct << "\" xmlns:" << sPrefix << "=\""
<< Axis_URI_SOAPStruct << "\">";
}
pSZ << pSZ.SerializeBasicType("varString", param->varString, XSD_STRING);
pSZ << pSZ.SerializeBasicType("varInt", param->varInt, XSD_INT);
pSZ << pSZ.SerializeBasicType("varFloat", param->varFloat, XSD_FLOAT);
pSZ << "</" << Axis_TypeName_SOAPStruct << ">";
return SUCCESS;
}
/////////////////////////////////////////////////////////////////////////////
// This static method deserialize a SOAPStruct type of object
//////////////////////////////////////////////////////////////////////
int Axis_DeSerialize_SOAPStruct(SOAPStruct* param, IWrapperSoapDeSerializer *pIWSDZ)
{
param->varString = pIWSDZ->GetString();
param->varInt = pIWSDZ->GetInt();
param->varFloat = pIWSDZ->GetFloat();
return SUCCESS;
}
void* Axis_Create_SOAPStruct(bool bArray = false, int nSize=0)
{
if (bArray && (nSize > 0))
return new SOAPStruct[nSize];
else
return new SOAPStruct;
}
/////////////////////////////////////////////////////////////////////////////
// This static method delete a SOAPStruct type of object
//////////////////////////////////////////////////////////////////////
void Axis_Delete_SOAPStruct(SOAPStruct* param, bool bArray = false, int nSize=0)
{
if (bArray)
{
delete [] param;
}
else
{
//delete any pointer members or array members of this struct here
delete param;
}
}
/////////////////////////////////////////////////////////////////////////////
// This static method gives the size of SOAPStruct type of object
//////////////////////////////////////////////////////////////////////
int Axis_GetSize_SOAPStruct()
{
return sizeof(SOAPStruct);
}
1.1 ws-axis/c/src/server/samples/interoptests/groupB/SOAPStruct.h
Index: SOAPStruct.h
===================================================================
///////////////////////////////////////////////////////////////////////////////////
//This file is automatically generated by the Axis C++ Wrapper Class Generator
//Web service wrapper class's implementation generated by Axis WCG
//Parameters and wrapper methos to manipulate SOAPStruct
////////////////////////////////////////////////////////////////////////////////////
#if !defined(__SOAPSTRUCT_PARAM_H__INCLUDED_)
#define __SOAPSTRUCT_PARAM_H__INCLUDED_
#include <axis/common/AxisUserAPI.h>
//Local name and the URI for the type
static const char* Axis_URI_SOAPStruct = "http://soapinterop.org/xsd";
static const char* Axis_TypeName_SOAPStruct = "SOAPStruct";
class SOAPStruct
{
public:
string varString;
int varInt;
float varFloat;
};
#endif // !defined(__SOAPSTRUCT_PARAM_H__INCLUDED_)
1.1 ws-axis/c/src/server/samples/interoptests/groupB/SOAPStructStruct.cpp
Index: SOAPStructStruct.cpp
===================================================================
///////////////////////////////////////////////////////////////////////////////////
//This file is automatically generated by the Axis C++ Wrapper Class Generator
//Web service wrapper class's implementation generated by Axis WCG
//Parameters and wrapper methos to manipulate SOAPStructStruct
////////////////////////////////////////////////////////////////////////////////////
#include "SOAPStructStruct.h"
#include <axis/common/IWrapperSoapDeSerializer.h>
#include <axis/common/IWrapperSoapSerializer.h>
#include <axis/common/IParam.h>
extern int Axis_DeSerialize_SOAPStruct(SOAPStruct* param, IWrapperSoapDeSerializer *pDZ);
extern void* Axis_Create_SOAPStruct(bool bArray = false, int nSize=0);
extern void Axis_Delete_SOAPStruct(SOAPStruct* param, bool bArray = false, int nSize=0);
extern int Axis_Serialize_SOAPStruct(SOAPStruct* param, IWrapperSoapSerializer& pSZ, bool bArray = false);
extern int Axis_GetSize_SOAPStruct();
/////////////////////////////////////////////////////////////////////////////
// This static method serialize a SOAPStructStruct type of object
//////////////////////////////////////////////////////////////////////
int Axis_Serialize_SOAPStructStruct(SOAPStructStruct* param, IWrapperSoapSerializer& pSZ, bool bArray = false)
{
if (bArray)
{
pSZ << "<" << Axis_TypeName_SOAPStructStruct << ">";
}
else
{
const AxisChar* sPrefix = pSZ.getNewNamespacePrefix();
pSZ << "<" << Axis_TypeName_SOAPStructStruct << " xsi:type=\"" << sPrefix <<":"
<< Axis_TypeName_SOAPStructStruct << "\" xmlns:" << sPrefix << "=\""
<< Axis_URI_SOAPStructStruct << "\">";
}
pSZ << pSZ.SerializeBasicType("varString", param->varString, XSD_STRING);
pSZ << pSZ.SerializeBasicType("varInt", param->varInt, XSD_INT);
pSZ << pSZ.SerializeBasicType("varFloat", param->varFloat, XSD_FLOAT);
Axis_Serialize_SOAPStruct(param->varStruct, pSZ);
pSZ << "</" << Axis_TypeName_SOAPStructStruct << ">";
return SUCCESS;
}
/////////////////////////////////////////////////////////////////////////////
// This static method deserialize a SOAPStructStruct type of object
//////////////////////////////////////////////////////////////////////
int Axis_DeSerialize_SOAPStructStruct(SOAPStructStruct* param, IWrapperSoapDeSerializer *pIWSDZ)
{
param->varString = pIWSDZ->GetString();
param->varInt = pIWSDZ->GetInt();
param->varFloat = pIWSDZ->GetFloat();
param->varStruct = (SOAPStruct*)pIWSDZ->GetObject((AXIS_DESERIALIZE_FUNCT)Axis_DeSerialize_SOAPStruct
, (AXIS_OBJECT_CREATE_FUNCT)Axis_Create_SOAPStruct, (AXIS_OBJECT_DELETE_FUNCT)Axis_Delete_SOAPStruct
, Axis_TypeName_SOAPStruct, Axis_URI_SOAPStruct);
return SUCCESS;
}
void* Axis_Create_SOAPStructStruct(bool bArray = false, int nSize=0)
{
if (bArray && (nSize > 0))
return new SOAPStructStruct[nSize];
else
return new SOAPStructStruct;
}
/////////////////////////////////////////////////////////////////////////////
// This static method delete a SOAPStructStruct type of object
//////////////////////////////////////////////////////////////////////
void Axis_Delete_SOAPStructStruct(SOAPStructStruct* param, bool bArray = false, int nSize=0)
{
if (bArray)
{
//delete any pointer members or array members of this struct here
SOAPStructStruct* pTemp = param;
for (int x=0; x<nSize; x++)
{
Axis_Delete_SOAPStruct(pTemp->varStruct);
pTemp++;
}
delete [] param;
}
else
{
//delete any pointer members or array members of this struct here
Axis_Delete_SOAPStruct(param->varStruct);
delete param;
}
}
/////////////////////////////////////////////////////////////////////////////
// This static method gives the size of SOAPStructStruct type of object
//////////////////////////////////////////////////////////////////////
int Axis_GetSize_SOAPStructStruct()
{
return sizeof(SOAPStructStruct);
}
1.1 ws-axis/c/src/server/samples/interoptests/groupB/SOAPStructStruct.h
Index: SOAPStructStruct.h
===================================================================
///////////////////////////////////////////////////////////////////////////////////
//This file is automatically generated by the Axis C++ Wrapper Class Generator
//Web service wrapper class's implementation generated by Axis WCG
//Parameters and wrapper methos to manipulate SOAPStructStruct
////////////////////////////////////////////////////////////////////////////////////
#if !defined(__SOAPSTRUCTSTRUCT_PARAM_H__INCLUDED_)
#define __SOAPSTRUCTSTRUCT_PARAM_H__INCLUDED_
#include <axis/common/AxisUserAPI.h>
#include "SOAPStruct.h"
//Local name and the URI for the type
static const char* Axis_URI_SOAPStructStruct = "http://soapinterop.org/xsd";
static const char* Axis_TypeName_SOAPStructStruct = "SOAPStructStruct";
class SOAPStructStruct
{
public:
string varString;
int varInt;
float varFloat;
SOAPStruct* varStruct;
};
#endif // !defined(__SOAPSTRUCTSTRUCT_PARAM_H__INCLUDED_)
1.1 ws-axis/c/src/server/samples/interoptests/groupC/InteropGroupC.wsdl
Index: InteropGroupC.wsdl
===================================================================
<?xml version="1.0"?>
<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<import location="http://www.whitemesa.com/interop/InteropTest.wsdl" namespace="http://soapinterop.org/"/>
<import location="http://www.whitemesa.com/interop/InteropTest.wsdl" namespace="http://soapinterop.org/xsd"/>
<message name="echoHeaderString_Request">
<part name="echoMeStringRequest" type="xsd:string"/>
</message>
<message name="echoHeaderString_Response">
<part name="echoMeStringResponse" type="xsd:string"/>
</message>
<message name="echoHeaderStruct_Request">
<part name="echoMeStructRequest" type="s:SOAPStruct"/>
</message>
<message name="echoHeaderStruct_Response">
<part name="echoMeStructResponse" type="s:SOAPStruct"/>
</message>
<binding name="InteropEchoHeaderBinding" type="tns:InteropTestPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="echoString">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoStringArray">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoInteger">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoIntegerArray">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoFloat">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoFloatArray">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoStruct">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoStructArray">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoVoid">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoBase64">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoDate">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoHexBinary">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoDecimal">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
<operation name="echoBoolean">
<soap:operation soapAction="http://soapinterop.org/"/>
<input>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Request" part="echoMeStringRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Request" part="echoMeStructRequest" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderString_Response" part="echoMeStringResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<soap:header use="encoded" message="tns:echoHeaderStruct_Response" part="echoMeStructResponse" namespace="http://soapinterop.org/echoheader/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
</binding>
<service name="InteropGroupC">
<port binding="tns:InteropEchoHeaderBinding" name="InteropGroupCTest">
<soap:address location="http://localhost/axis/InteropGroupC"/>
</port>
</service>
</definitions>