You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by da...@apache.org on 2004/08/17 08:55:51 UTC

cvs commit: ws-axis/c/samples/server/array ArrayTestPortType.cpp ArrayTestPortType.h ArrayTestPortTypeService.cpp ArrayTestPortTypeWrapper.cpp ArrayTestPortTypeWrapper.h AxisServiceException.cpp AxisServiceException.h Makefile.am Makefile.in intArrayType.cpp intArrayType.h

damitha     2004/08/16 23:55:51

  Added:       c/samples/server/array ArrayTestPortType.cpp
                        ArrayTestPortType.h ArrayTestPortTypeService.cpp
                        ArrayTestPortTypeWrapper.cpp
                        ArrayTestPortTypeWrapper.h AxisServiceException.cpp
                        AxisServiceException.h Makefile.am Makefile.in
                        intArrayType.cpp intArrayType.h
  Log:
  Added files for the array sample
  
  Revision  Changes    Path
  1.1                  ws-axis/c/samples/server/array/ArrayTestPortType.cpp
  
  Index: ArrayTestPortType.cpp
  ===================================================================
  /*
   * This file was auto-generated by the Axis C++ Web Service Generator (WSDL2Ws)
   * This file contains definitions of the web service
   */
  
  #include "ArrayTestPortType.h"
  
  
  ArrayTestPortType::ArrayTestPortType()
  {
  }
  
  ArrayTestPortType::~ArrayTestPortType()
  {
  }
  
  /* This function is called by the AxisEngine when something went wrong
   with the current web service request processing. Appropriate actions should
   be taken here.*/
  void ArrayTestPortType::onFault()
  {
  }
  /* This function is called by the AxisEngine when this web service
   library is first loaded. So here we can initialize any global/static
   data structures of this web service or open database connections */
  void ArrayTestPortType::init()
  {
  }
  /* This function is called by the AxisEngine when this web service
   library is unloaded. So we can deallocate any global/static data structures
   and close database connections etc here. */
  void ArrayTestPortType::fini()
  {
  }
  intArrayType* ArrayTestPortType::echoIntArray(intArrayType* Value0)  
  {
  }
  
  
  
  1.1                  ws-axis/c/samples/server/array/ArrayTestPortType.h
  
  Index: ArrayTestPortType.h
  ===================================================================
  /*
   * This is the Service Class genarated by the tool WSDL2Ws
   * ArrayTestPortType.h: interface for the ArrayTestPortTypeclass.
   *
   */
  #if !defined(__ARRAYTESTPORTTYPE_SERVERSKELETON_H__INCLUDED_)
  #define __ARRAYTESTPORTTYPE_SERVERSKELETON_H__INCLUDED_
  
  #include <axis/server/AxisUserAPI.h>
  #include "AxisServiceException.h" 
  
  #include "intArrayType.h"
  
  class ArrayTestPortType 
  {
  	public:
  		ArrayTestPortType();
  	public:
  		virtual ~ArrayTestPortType();
  	public: 
  		void onFault();
  		void init();
  		void fini();
  		intArrayType* echoIntArray(intArrayType* Value0);
  };
  
  #endif /* !defined(__ARRAYTESTPORTTYPE_SERVERSKELETON_H__INCLUDED_)*/
  
  
  
  1.1                  ws-axis/c/samples/server/array/ArrayTestPortTypeService.cpp
  
  Index: ArrayTestPortTypeService.cpp
  ===================================================================
  /*
   * This file was auto-generated by the Axis C++ Web Service Generator (WSDL2Ws)
   * This file contains the two export functions of the Web service Dynamic Library 
   */
  
  #include "ArrayTestPortTypeWrapper.h" 
  extern "C" {
  STORAGE_CLASS_INFO
  int GetClassInstance(BasicHandler **inst)
  {
  	*inst = new BasicHandler();
  	WrapperClassHandler* pWCH = new ArrayTestPortTypeWrapper();
  	(*inst)->_functions = 0;
  	if (pWCH)
  	{
  		(*inst)->_object = pWCH;
  		return pWCH->init();
  	}
  	return AXIS_FAIL;
  }
  STORAGE_CLASS_INFO 
  int DestroyInstance(BasicHandler *inst)
  {
  	if (inst)
  	{
  		WrapperClassHandler* pWCH = reinterpret_cast<WrapperClassHandler*>(inst);
  		pWCH->fini();
  		delete pWCH;
  		delete inst;
  		return AXIS_SUCCESS;
  	}
  	return AXIS_FAIL;
  }
  }
  
  
  
  1.1                  ws-axis/c/samples/server/array/ArrayTestPortTypeWrapper.cpp
  
  Index: ArrayTestPortTypeWrapper.cpp
  ===================================================================
  /*
   * This file was auto-generated by the Axis C++ Web Service Generator (WSDL2Ws)
   * This file contains Web Service Wrapper implementations
   */
  
  #include "ArrayTestPortTypeWrapper.h"
  
  extern int Axis_DeSerialize_intArrayType(intArrayType* param, IWrapperSoapDeSerializer* pDZ);
  extern void* Axis_Create_intArrayType(intArrayType *Obj, bool bArray = false, int nSize=0);
  extern void Axis_Delete_intArrayType(intArrayType* param, bool bArray = false, int nSize=0);
  extern int Axis_Serialize_intArrayType(intArrayType* param, IWrapperSoapSerializer* pSZ, bool bArray = false);
  extern int Axis_GetSize_intArrayType();
  
  ArrayTestPortTypeWrapper::ArrayTestPortTypeWrapper()
  {
  	pWs = new ArrayTestPortType();
  }
  
  ArrayTestPortTypeWrapper::~ArrayTestPortTypeWrapper()
  {
  	delete pWs;
  }
  
  /*implementation of WrapperClassHandler interface*/
  void ArrayTestPortTypeWrapper::onFault(void *pMsg)
  {
  	pWs->onFault();
  }
  
  int ArrayTestPortTypeWrapper::init()
  {
  	pWs->init();
  	return AXIS_SUCCESS;
  }
  
  int ArrayTestPortTypeWrapper::fini()
  {
  	pWs->fini();
  	return AXIS_SUCCESS;
  }
  
  
  /*
   * This method invokes the right service method 
   */
  int ArrayTestPortTypeWrapper::invoke(void *pMsg)
  {
  	IMessageData* mc = (IMessageData*)pMsg;
  	const AxisChar *method = mc->getOperationName();
  	if (0 == strcmp(method, "echoIntArray"))
  		return echoIntArray(mc);
  	else return AXIS_FAIL;
  }
  
  
  /*Methods corresponding to the web service methods*/
  
  /*
   * This method wrap the service method 
   */
  int ArrayTestPortTypeWrapper::echoIntArray(void* pMsg)
  {
  	IMessageData* mc = (IMessageData*)pMsg;
  	int nStatus;
  	IWrapperSoapSerializer* pIWSSZ = NULL;
  	mc->getSoapSerializer(&pIWSSZ);
  	if (!pIWSSZ) return AXIS_FAIL;
  	IWrapperSoapDeSerializer* pIWSDZ = NULL;
  	mc->getSoapDeSerializer(&pIWSDZ);
  	if (!pIWSDZ) return AXIS_FAIL;
  	/* check whether we have got correct message */
  	if (AXIS_SUCCESS != pIWSDZ->checkMessageBody("echoIntArray", "http://soapinterop.org/")) return AXIS_FAIL;
  	pIWSSZ->createSoapMethod("echoIntArrayResponse", "http://soapinterop.org/");
  	intArrayType *v0 = (intArrayType*)pIWSDZ->getCmplxObject((void*)Axis_DeSerialize_intArrayType
  		, (void*)Axis_Create_intArrayType, (void*)Axis_Delete_intArrayType
  		, "inputIntArrayType", Axis_URI_intArrayType);
  	if (AXIS_SUCCESS != (nStatus = pIWSDZ->getStatus())) return nStatus;
  	try
  	{
  		intArrayType* ret = pWs->echoIntArray(v0);
  		return pIWSSZ->addOutputCmplxParam(ret, (void*)Axis_Serialize_intArrayType, (void*)Axis_Delete_intArrayType, "echoIntArrayReturn", Axis_URI_intArrayType);
  	}
  	catch(...){
  	}
  }
  
  
  
  
  1.1                  ws-axis/c/samples/server/array/ArrayTestPortTypeWrapper.h
  
  Index: ArrayTestPortTypeWrapper.h
  ===================================================================
  /*
   * This file was auto-generated by the Axis C++ Web Service Generator (WSDL2Ws)
   * This file contains Web Service Wrapper declarations
   */
  
  #if !defined(__ARRAYTESTPORTTYPEWRAPPER_SERVERWRAPPER_H__INCLUDED_)
  #define __ARRAYTESTPORTTYPEWRAPPER_SERVERWRAPPER_H__INCLUDED_
  
  #include "ArrayTestPortType.h"
  #include <axis/server/WrapperClassHandler.h>
  #include <axis/server/IMessageData.h>
  #include <axis/server/GDefine.h>
  #include <axis/server/AxisWrapperAPI.h>
  #include "AxisServiceException.h" 
  AXIS_CPP_NAMESPACE_USE 
  
  class ArrayTestPortTypeWrapper : public WrapperClassHandler
  {
  private:/* Actual web service object*/
  	ArrayTestPortType *pWs;
  public:
  	ArrayTestPortTypeWrapper();
  public:
  	virtual ~ArrayTestPortTypeWrapper();
  public:/*implementation of WrapperClassHandler interface*/
  	int AXISCALL invoke(void* pMsg);
  	void AXISCALL onFault(void* pMsg);
  	int AXISCALL init();
  	int AXISCALL fini();
  	AXIS_BINDING_STYLE AXISCALL getBindingStyle(){return RPC_ENCODED;};
  private:/*Methods corresponding to the web service methods*/
  	int echoIntArray(void* pMsg);
  };
  
  #endif /* !defined(__ARRAYTESTPORTTYPEWRAPPER_SERVERWRAPPER_H__INCLUDED_)*/
  
  
  
  1.1                  ws-axis/c/samples/server/array/AxisServiceException.cpp
  
  Index: AxisServiceException.cpp
  ===================================================================
  /*
   * This file was auto-generated by the Axis C++ Web Service Generator (WSDL2Ws)
   * This file contains implementations of the array Exception class of the web service.
   */
  
  #include "AxisServiceException.h"
  
  #include <axis/server/AxisWrapperAPI.h>
  
  AxisServiceException::AxisServiceException()
  {
  /* This only serves the purpose of indicating that the 
   * service has thrown an excpetion 
   */ 
  	m_iExceptionCode = AXISC_SERVICE_THROWN_EXCEPTION; 
  	processException(m_iExceptionCode); 
  }
  
  AxisServiceException::AxisServiceException(ISoapFault* pFault)
  {
  	m_iExceptionCode = AXISC_SERVICE_THROWN_EXCEPTION;
  	processException(pFault);}
  
  AxisServiceException::AxisServiceException(int iExceptionCode)
  {
  
  	m_iExceptionCode = iExceptionCode;
  	processException (iExceptionCode);
  }
  
  AxisServiceException::AxisServiceException(exception* e)
  {
  	processException (e);
  }
  
  AxisServiceException::AxisServiceException(exception* e,int iExceptionCode)
  {
  
  	processException (e, iExceptionCode);
  }
  
  AxisServiceException::~AxisServiceException() throw () 
  {
  	m_sMessage ="";
  }
  
  void AxisServiceException:: processException(exception* e, int iExceptionCode)
  {
  	m_sMessage = getMessage (e) + getMessage (iExceptionCode);
  }
  
  void AxisServiceException::processException (ISoapFault* pFault)
  {
  	/*User can do something like deserializing the struct into a string*/
  }
  
  void AxisServiceException::processException(exception* e)
  {
  	m_sMessage = getMessage (e);
  }
  
  void AxisServiceException::processException(int iExceptionCode)
  {
  	m_sMessage = getMessage (iExceptionCode);
  }
  
  const string AxisServiceException::getMessage (exception* objException)
  {
  	string sMessage = objException->what();
  	return sMessage;
  }
  
  const string AxisServiceException::getMessage (int iExceptionCode)
  {
  	string sMessage;
  	switch(iExceptionCode)
  	{
  		case AXISC_SERVICE_THROWN_EXCEPTION:
  		sMessage = "The array service has thrown an exception. see details";
  		break;
  		default:
  		sMessage = "Unknown Exception has occured in the array service";
  	}
  return sMessage;
  }
  
  const char* AxisServiceException::what() throw ()
  {
  	return m_sMessage.c_str ();
  }
  
  const int AxisServiceException::getExceptionCode(){
  	return m_iExceptionCode;
  }
  
  
  
  
  1.1                  ws-axis/c/samples/server/array/AxisServiceException.h
  
  Index: AxisServiceException.h
  ===================================================================
  /*
   * This file was auto-generated by the Axis C++ Web Service Generator (WSDL2Ws)
   * This file contains an Exception class of the web service.
   */
  
  #if !defined(__AXISSERVICEEXCEPTION_EXCEPTION_H__INCLUDED_)
  #define __AXISSERVICEEXCEPTION_EXCEPTION_H__INCLUDED_
  
  #include <string>
  #include <exception>
  #include <axis/server/AxisException.h>
  #include <axis/ISoapFault.h>
  using namespace std;
  AXIS_CPP_NAMESPACE_USE 
  
  class AxisServiceException: public AxisException
  {
  public:
  	AxisServiceException();
  	AxisServiceException(ISoapFault* pFault);
  	AxisServiceException(int iExceptionCode);
  	AxisServiceException(exception* e);
  	AxisServiceException(exception* e, int iExceptionCode);
  	virtual ~AxisServiceException() throw();
  	 const char* what() throw();
  	 const int getExceptionCode();
  	 const string getMessage(exception* e);
  	 const string getMessage(int iExceptionCode);
  private:
  	 void processException(exception* e);
  	 void processException(ISoapFault* pFault);
  	 void processException(exception* e, int iExceptionCode);
  	 void processException(int iExceptionCode);
  	 string m_sMessage;
  	 int m_iExceptionCode;
  
  };
  
  #endif /* !defined(__AXISSERVICEEXCEPTION_EXCEPTION_H__INCLUDED_)*/
  
  
  
  1.1                  ws-axis/c/samples/server/array/Makefile.am
  
  Index: Makefile.am
  ===================================================================
  lib_LTLIBRARIES = libarray.la
  SUBDIRS =
  libarray_la_SOURCES = AxisServiceException.cpp ArrayTestPortTypeService.cpp ArrayTestPortType.cpp intArrayType.cpp ArrayTestPortTypeWrapper.cpp
  libarray_la_LIBADD = $(LDFLAGS)
  INCLUDES = -I$(AXISCPP_HOME)/include
  
  
  
  1.1                  ws-axis/c/samples/server/array/Makefile.in
  
  Index: Makefile.in
  ===================================================================
  # Makefile.in generated by automake 1.6.3 from Makefile.am.
  # @configure_input@
  
  # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
  # Free Software Foundation, Inc.
  # This Makefile.in is free software; the Free Software Foundation
  # gives unlimited permission to copy and/or distribute it,
  # with or without modifications, as long as this notice is preserved.
  
  # This program is distributed in the hope that it will be useful,
  # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
  # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  # PARTICULAR PURPOSE.
  
  @SET_MAKE@
  SHELL = @SHELL@
  
  srcdir = @srcdir@
  top_srcdir = @top_srcdir@
  VPATH = @srcdir@
  prefix = @prefix@
  exec_prefix = @exec_prefix@
  
  bindir = @bindir@
  sbindir = @sbindir@
  libexecdir = @libexecdir@
  datadir = @datadir@
  sysconfdir = @sysconfdir@
  sharedstatedir = @sharedstatedir@
  localstatedir = @localstatedir@
  libdir = @libdir@
  infodir = @infodir@
  mandir = @mandir@
  includedir = @includedir@
  oldincludedir = /usr/include
  pkgdatadir = $(datadir)/@PACKAGE@
  pkglibdir = $(libdir)/@PACKAGE@
  pkgincludedir = $(includedir)/@PACKAGE@
  top_builddir = ../../..
  
  ACLOCAL = @ACLOCAL@
  AUTOCONF = @AUTOCONF@
  AUTOMAKE = @AUTOMAKE@
  AUTOHEADER = @AUTOHEADER@
  
  am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
  INSTALL = @INSTALL@
  INSTALL_PROGRAM = @INSTALL_PROGRAM@
  INSTALL_DATA = @INSTALL_DATA@
  install_sh_DATA = $(install_sh) -c -m 644
  install_sh_PROGRAM = $(install_sh) -c
  install_sh_SCRIPT = $(install_sh) -c
  INSTALL_SCRIPT = @INSTALL_SCRIPT@
  INSTALL_HEADER = $(INSTALL_DATA)
  transform = @program_transform_name@
  NORMAL_INSTALL = :
  PRE_INSTALL = :
  POST_INSTALL = :
  NORMAL_UNINSTALL = :
  PRE_UNINSTALL = :
  POST_UNINSTALL = :
  host_alias = @host_alias@
  host_triplet = @host@
  
  EXEEXT = @EXEEXT@
  OBJEXT = @OBJEXT@
  PATH_SEPARATOR = @PATH_SEPARATOR@
  AMTAR = @AMTAR@
  APACHE2BUILD = @APACHE2BUILD@
  APACHE2INC = @APACHE2INC@
  APACHEBUILD = @APACHEBUILD@
  APACHEINC = @APACHEINC@
  AS = @AS@
  AWK = @AWK@
  CC = @CC@
  CXX = @CXX@
  DEPDIR = @DEPDIR@
  DLLTOOL = @DLLTOOL@
  ECHO = @ECHO@
  EXPATBUILD = @EXPATBUILD@
  EXPATINC = @EXPATINC@
  EXPATLIB = @EXPATLIB@
  INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
  LIBTOOL = @LIBTOOL@
  LIBWWWBUILD = @LIBWWWBUILD@
  LINKCLIENTLIB = @LINKCLIENTLIB@
  LN_S = @LN_S@
  OBJDUMP = @OBJDUMP@
  PACKAGE = @PACKAGE@
  RANLIB = @RANLIB@
  SAMPLESBUILD = @SAMPLESBUILD@
  STRIP = @STRIP@
  TESTCASESBUILD = @TESTCASESBUILD@
  VERSION = @VERSION@
  XERCESCBUILD = @XERCESCBUILD@
  XERCESCINC = @XERCESCINC@
  XERCESCLIB = @XERCESCLIB@
  am__include = @am__include@
  am__quote = @am__quote@
  install_sh = @install_sh@
  lib_LTLIBRARIES = libarray.la
  SUBDIRS = 
  libarray_la_SOURCES = AxisServiceException.cpp ArrayTestPortTypeService.cpp ArrayTestPortType.cpp intArrayType.cpp ArrayTestPortTypeWrapper.cpp
  libarray_la_LIBADD = $(LDFLAGS)
  INCLUDES = -I$(AXISCPP_HOME)/include
  subdir = samples/server/array
  mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
  CONFIG_HEADER = $(top_builddir)/config.h
  CONFIG_CLEAN_FILES =
  LTLIBRARIES = $(lib_LTLIBRARIES)
  
  libarray_la_LDFLAGS =
  libarray_la_DEPENDENCIES =
  am_libarray_la_OBJECTS = AxisServiceException.lo \
  	ArrayTestPortTypeService.lo ArrayTestPortType.lo \
  	intArrayType.lo ArrayTestPortTypeWrapper.lo
  libarray_la_OBJECTS = $(am_libarray_la_OBJECTS)
  
  DEFS = @DEFS@
  DEFAULT_INCLUDES =  -I. -I$(srcdir) -I$(top_builddir)
  CPPFLAGS = @CPPFLAGS@
  LDFLAGS = @LDFLAGS@
  LIBS = @LIBS@
  depcomp = $(SHELL) $(top_srcdir)/depcomp
  am__depfiles_maybe = depfiles
  @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/ArrayTestPortType.Plo \
  @AMDEP_TRUE@	./$(DEPDIR)/ArrayTestPortTypeService.Plo \
  @AMDEP_TRUE@	./$(DEPDIR)/ArrayTestPortTypeWrapper.Plo \
  @AMDEP_TRUE@	./$(DEPDIR)/AxisServiceException.Plo \
  @AMDEP_TRUE@	./$(DEPDIR)/intArrayType.Plo
  CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
  	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
  LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
  	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
  	$(AM_CXXFLAGS) $(CXXFLAGS)
  CXXLD = $(CXX)
  CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
  	$(AM_LDFLAGS) $(LDFLAGS) -o $@
  CXXFLAGS = @CXXFLAGS@
  DIST_SOURCES = $(libarray_la_SOURCES)
  
  RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
  	uninstall-info-recursive all-recursive install-data-recursive \
  	install-exec-recursive installdirs-recursive install-recursive \
  	uninstall-recursive check-recursive installcheck-recursive
  DIST_COMMON = Makefile.am Makefile.in
  DIST_SUBDIRS = $(SUBDIRS)
  SOURCES = $(libarray_la_SOURCES)
  
  all: all-recursive
  
  .SUFFIXES:
  .SUFFIXES: .cpp .lo .o .obj
  $(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.ac $(ACLOCAL_M4)
  	cd $(top_srcdir) && \
  	  $(AUTOMAKE) --gnu  samples/server/array/Makefile
  Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
  	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
  libLTLIBRARIES_INSTALL = $(INSTALL)
  install-libLTLIBRARIES: $(lib_LTLIBRARIES)
  	@$(NORMAL_INSTALL)
  	$(mkinstalldirs) $(DESTDIR)$(libdir)
  	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
  	  if test -f $$p; then \
  	    f="`echo $$p | sed -e 's|^.*/||'`"; \
  	    echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f"; \
  	    $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(libdir)/$$f; \
  	  else :; fi; \
  	done
  
  uninstall-libLTLIBRARIES:
  	@$(NORMAL_UNINSTALL)
  	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
  	    p="`echo $$p | sed -e 's|^.*/||'`"; \
  	  echo " $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p"; \
  	  $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
  	done
  
  clean-libLTLIBRARIES:
  	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
  	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
  	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
  	  test -z "$dir" && dir=.; \
  	  echo "rm -f \"$${dir}/so_locations\""; \
  	  rm -f "$${dir}/so_locations"; \
  	done
  libarray.la: $(libarray_la_OBJECTS) $(libarray_la_DEPENDENCIES) 
  	$(CXXLINK) -rpath $(libdir) $(libarray_la_LDFLAGS) $(libarray_la_OBJECTS) $(libarray_la_LIBADD) $(LIBS)
  
  mostlyclean-compile:
  	-rm -f *.$(OBJEXT) core *.core
  
  distclean-compile:
  	-rm -f *.tab.c
  
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ArrayTestPortType.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ArrayTestPortTypeService.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ArrayTestPortTypeWrapper.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AxisServiceException.Plo@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/intArrayType.Plo@am__quote@
  
  distclean-depend:
  	-rm -rf ./$(DEPDIR)
  
  .cpp.o:
  @AMDEP_TRUE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
  @AMDEP_TRUE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
  @AMDEP_TRUE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  	$(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
  
  .cpp.obj:
  @AMDEP_TRUE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
  @AMDEP_TRUE@	depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@
  @AMDEP_TRUE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  	$(CXXCOMPILE) -c -o $@ `cygpath -w $<`
  
  .cpp.lo:
  @AMDEP_TRUE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
  @AMDEP_TRUE@	depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@
  @AMDEP_TRUE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  	$(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
  CXXDEPMODE = @CXXDEPMODE@
  
  mostlyclean-libtool:
  	-rm -f *.lo
  
  clean-libtool:
  	-rm -rf .libs _libs
  
  distclean-libtool:
  	-rm -f libtool
  uninstall-info-am:
  
  # This directory's subdirectories are mostly independent; you can cd
  # into them and run `make' without going through this Makefile.
  # To change the values of `make' variables: instead of editing Makefiles,
  # (1) if the variable is set in `config.status', edit `config.status'
  #     (which will cause the Makefiles to be regenerated when you run `make');
  # (2) otherwise, pass the desired values on the `make' command line.
  $(RECURSIVE_TARGETS):
  	@set fnord $$MAKEFLAGS; amf=$$2; \
  	dot_seen=no; \
  	target=`echo $@ | sed s/-recursive//`; \
  	list='$(SUBDIRS)'; for subdir in $$list; do \
  	  echo "Making $$target in $$subdir"; \
  	  if test "$$subdir" = "."; then \
  	    dot_seen=yes; \
  	    local_target="$$target-am"; \
  	  else \
  	    local_target="$$target"; \
  	  fi; \
  	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
  	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
  	done; \
  	if test "$$dot_seen" = "no"; then \
  	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
  	fi; test -z "$$fail"
  
  mostlyclean-recursive clean-recursive distclean-recursive \
  maintainer-clean-recursive:
  	@set fnord $$MAKEFLAGS; amf=$$2; \
  	dot_seen=no; \
  	case "$@" in \
  	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
  	  *) list='$(SUBDIRS)' ;; \
  	esac; \
  	rev=''; for subdir in $$list; do \
  	  if test "$$subdir" = "."; then :; else \
  	    rev="$$subdir $$rev"; \
  	  fi; \
  	done; \
  	rev="$$rev ."; \
  	target=`echo $@ | sed s/-recursive//`; \
  	for subdir in $$rev; do \
  	  echo "Making $$target in $$subdir"; \
  	  if test "$$subdir" = "."; then \
  	    local_target="$$target-am"; \
  	  else \
  	    local_target="$$target"; \
  	  fi; \
  	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
  	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
  	done && test -z "$$fail"
  tags-recursive:
  	list='$(SUBDIRS)'; for subdir in $$list; do \
  	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
  	done
  
  ETAGS = etags
  ETAGSFLAGS =
  
  tags: TAGS
  
  ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
  	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
  	unique=`for i in $$list; do \
  	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  	  done | \
  	  $(AWK) '    { files[$$0] = 1; } \
  	       END { for (i in files) print i; }'`; \
  	mkid -fID $$unique
  
  TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
  		$(TAGS_FILES) $(LISP)
  	tags=; \
  	here=`pwd`; \
  	list='$(SUBDIRS)'; for subdir in $$list; do \
  	  if test "$$subdir" = .; then :; else \
  	    test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
  	  fi; \
  	done; \
  	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
  	unique=`for i in $$list; do \
  	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  	  done | \
  	  $(AWK) '    { files[$$0] = 1; } \
  	       END { for (i in files) print i; }'`; \
  	test -z "$(ETAGS_ARGS)$$tags$$unique" \
  	  || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
  	     $$tags $$unique
  
  GTAGS:
  	here=`$(am__cd) $(top_builddir) && pwd` \
  	  && cd $(top_srcdir) \
  	  && gtags -i $(GTAGS_ARGS) $$here
  
  distclean-tags:
  	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
  DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
  
  top_distdir = ../../..
  distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
  
  distdir: $(DISTFILES)
  	@list='$(DISTFILES)'; for file in $$list; do \
  	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
  	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
  	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
  	    dir="/$$dir"; \
  	    $(mkinstalldirs) "$(distdir)$$dir"; \
  	  else \
  	    dir=''; \
  	  fi; \
  	  if test -d $$d/$$file; then \
  	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
  	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
  	    fi; \
  	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
  	  else \
  	    test -f $(distdir)/$$file \
  	    || cp -p $$d/$$file $(distdir)/$$file \
  	    || exit 1; \
  	  fi; \
  	done
  	list='$(SUBDIRS)'; for subdir in $$list; do \
  	  if test "$$subdir" = .; then :; else \
  	    test -d $(distdir)/$$subdir \
  	    || mkdir $(distdir)/$$subdir \
  	    || exit 1; \
  	    (cd $$subdir && \
  	      $(MAKE) $(AM_MAKEFLAGS) \
  	        top_distdir="$(top_distdir)" \
  	        distdir=../$(distdir)/$$subdir \
  	        distdir) \
  	      || exit 1; \
  	  fi; \
  	done
  check-am: all-am
  check: check-recursive
  all-am: Makefile $(LTLIBRARIES)
  installdirs: installdirs-recursive
  installdirs-am:
  	$(mkinstalldirs) $(DESTDIR)$(libdir)
  
  install: install-recursive
  install-exec: install-exec-recursive
  install-data: install-data-recursive
  uninstall: uninstall-recursive
  
  install-am: all-am
  	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
  
  installcheck: installcheck-recursive
  install-strip:
  	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
  	  INSTALL_STRIP_FLAG=-s \
  	  `test -z '$(STRIP)' || \
  	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
  mostlyclean-generic:
  
  clean-generic:
  
  distclean-generic:
  	-rm -f Makefile $(CONFIG_CLEAN_FILES)
  
  maintainer-clean-generic:
  	@echo "This command is intended for maintainers to use"
  	@echo "it deletes files that may require special tools to rebuild."
  clean: clean-recursive
  
  clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
  	mostlyclean-am
  
  distclean: distclean-recursive
  
  distclean-am: clean-am distclean-compile distclean-depend \
  	distclean-generic distclean-libtool distclean-tags
  
  dvi: dvi-recursive
  
  dvi-am:
  
  info: info-recursive
  
  info-am:
  
  install-data-am:
  
  install-exec-am: install-libLTLIBRARIES
  
  install-info: install-info-recursive
  
  install-man:
  
  installcheck-am:
  
  maintainer-clean: maintainer-clean-recursive
  
  maintainer-clean-am: distclean-am maintainer-clean-generic
  
  mostlyclean: mostlyclean-recursive
  
  mostlyclean-am: mostlyclean-compile mostlyclean-generic \
  	mostlyclean-libtool
  
  uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES
  
  uninstall-info: uninstall-info-recursive
  
  .PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
  	clean-generic clean-libLTLIBRARIES clean-libtool \
  	clean-recursive distclean distclean-compile distclean-depend \
  	distclean-generic distclean-libtool distclean-recursive \
  	distclean-tags distdir dvi dvi-am dvi-recursive info info-am \
  	info-recursive install install-am install-data install-data-am \
  	install-data-recursive install-exec install-exec-am \
  	install-exec-recursive install-info install-info-am \
  	install-info-recursive install-libLTLIBRARIES install-man \
  	install-recursive install-strip installcheck installcheck-am \
  	installdirs installdirs-am installdirs-recursive \
  	maintainer-clean maintainer-clean-generic \
  	maintainer-clean-recursive mostlyclean mostlyclean-compile \
  	mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
  	tags tags-recursive uninstall uninstall-am uninstall-info-am \
  	uninstall-info-recursive uninstall-libLTLIBRARIES \
  	uninstall-recursive
  
  # Tell versions [3.59,3.63) of GNU make to not export all variables.
  # Otherwise a system limit (for SysV at least) may be exceeded.
  .NOEXPORT:
  
  
  
  1.1                  ws-axis/c/samples/server/array/intArrayType.cpp
  
  Index: intArrayType.cpp
  ===================================================================
  /*
   * This file was auto-generated by the Axis C++ Web Service Generator (WSDL2Ws)
   * This file contains functions to manipulate complex type intArrayType
   */
  
  #include <malloc.h>
  #include "intArrayType.h"
  #include <axis/server/AxisWrapperAPI.h>
  
  /*
   * This static method serialize a intArrayType type of object
   */
  int Axis_Serialize_intArrayType(intArrayType* param, IWrapperSoapSerializer* pSZ, bool bArray = false)
  {
  	if (bArray)
  	{
  		pSZ->serialize("<", Axis_TypeName_intArrayType, ">", NULL);
  	}
  	else
  	{
  		const AxisChar* sPrefix = pSZ->getNamespacePrefix(Axis_URI_intArrayType);
  		pSZ->serialize("<", Axis_TypeName_intArrayType, " xsi:type=\"", sPrefix, ":",
  			Axis_TypeName_intArrayType, "\" xmlns:", sPrefix, "=\"",
  			Axis_URI_intArrayType, "\">", NULL);
  	}
  
  	pSZ->serializeBasicArray((Axis_Array*)(&param->intItem),XSD_INT, "intItem");
  
  	pSZ->serialize("</", Axis_TypeName_intArrayType, ">", NULL);
  	return AXIS_SUCCESS;
  }
  
  /*
   * This static method deserialize a intArrayType type of object
   */
  int Axis_DeSerialize_intArrayType(intArrayType* param, IWrapperSoapDeSerializer* pIWSDZ)
  {
  	param->intItem = (xsd__int_Array&)pIWSDZ->getBasicArray(XSD_INT, "intItem",0);
  	return pIWSDZ->getStatus();
  }
  void* Axis_Create_intArrayType(intArrayType* pObj, bool bArray = false, int nSize=0)
  {
  	if (bArray && (nSize > 0))
  	{
  		if (pObj)
  		{
  			intArrayType* pNew = new intArrayType[nSize];
  			memcpy(pNew, pObj, sizeof(intArrayType)*nSize/2);
  			memset(pObj, 0, sizeof(intArrayType)*nSize/2);
  			delete [] pObj;
  			return pNew;
  		}
  		else
  		{
  			return new intArrayType[nSize];
  		}
  	}
  	else
  		return new intArrayType;
  }
  
  /*
   * This static method delete a intArrayType type of object
   */
  void Axis_Delete_intArrayType(intArrayType* param, bool bArray = false, int nSize=0)
  {
  	if (bArray)
  	{
  		delete [] param;
  	}
  	else
  	{
  		delete param;
  	}
  }
  /*
   * This static method gives the size of intArrayType type of object
   */
  int Axis_GetSize_intArrayType()
  {
  	return sizeof(intArrayType);
  }
  
  intArrayType::intArrayType()
  {
  	/*do not allocate memory to any pointer members here
  	 because deserializer will allocate memory anyway. */
  	intItem.m_Array = 0;
  	intItem.m_Size = 0;
  }
  
  intArrayType::~intArrayType()
  {
  	/*delete any pointer and array members here*/
  	delete [] ((int*)intItem.m_Array);
  }
  
  
  
  1.1                  ws-axis/c/samples/server/array/intArrayType.h
  
  Index: intArrayType.h
  ===================================================================
  /*
   * This file was auto-generated by the Axis C++ Web Service Generator (WSDL2Ws)
   * This file contains functions to manipulate complex type intArrayType
   */
  
  #if !defined(__INTARRAYTYPE_PARAM_H__INCLUDED_)
  #define __INTARRAYTYPE_PARAM_H__INCLUDED_
  
  #include <axis/server/AxisUserAPI.h>
  AXIS_CPP_NAMESPACE_USE 
  
  /*Local name and the URI for the type*/
  static const char* Axis_URI_intArrayType = "http://soapinterop.org/xsd";
  static const char* Axis_TypeName_intArrayType = "intArrayType";
  
  class intArrayType
  {
  public:
  	xsd__int_Array intItem;
  	intArrayType();
  	virtual ~intArrayType();
  };
  
  #endif /* !defined(__INTARRAYTYPE_PARAM_H__INCLUDED_)*/