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:53:59 UTC

cvs commit: ws-axis/c/samples/client/array ArrayClient.cpp ArrayTestPortType.cpp ArrayTestPortType.h Makefile.am Makefile.in array_AxisClientException.cpp array_AxisClientException.h intArrayType.cpp intArrayType.h

damitha     2004/08/16 23:53:59

  Added:       c/samples/client/array ArrayClient.cpp ArrayTestPortType.cpp
                        ArrayTestPortType.h Makefile.am Makefile.in
                        array_AxisClientException.cpp
                        array_AxisClientException.h intArrayType.cpp
                        intArrayType.h
  Log:
  Added the array sample files
  
  Revision  Changes    Path
  1.1                  ws-axis/c/samples/client/array/ArrayClient.cpp
  
  Index: ArrayClient.cpp
  ===================================================================
  // ArrayClient.cpp : Defines the entry point for the console application.i
  //
  #include <string>
  using namespace std;
  
  #include "ArrayTestPortType.h"
  #include <axis/AxisGenException.h>
  
  #define ARRAYSIZE 2
  
  int main(int argc, char* argv[])
  {
  	int x;
  	char buffer1[100];
  	char endpoint[256];
  	const char* server="localhost";
  	const char* port="80";
  	try
          {
  	if (argc == 3)
  	{
  		server = argv[1];
  		port = argv[2];
  	}
  	printf("Usage :\n %s <server> <port>\n\n", argv[0]);
  	printf("Sending Requests to Server http://%s:%s ........\n\n", server, port);
  	sprintf(endpoint, "http://%s:%s/axis/array", server, port);
  	//endpoint for Axis Java sample
  	//sprintf(endpoint, "http://%s:%s/axis/services/echo", server, port);	
  	ArrayTestPortType ws(endpoint);
  	//testing echoIntArray
           intArrayType arrin;
           arrin.intItem.m_Array = new int[ARRAYSIZE];
           arrin.intItem.m_Size = ARRAYSIZE;
           for (x=0;x<ARRAYSIZE;x++)
           {
             arrin.intItem.m_Array[x] = x;
           }
           printf("invoking echoIntArray...\n");
           if (ws.echoIntArray(&arrin)->intItem.m_Array != NULL)
  	          printf("successful \n");
        else
  	          printf("failed \n");		
  	}
          catch(AxisException& e)
          {
              printf("Exception : %s\n", e.what());
          }
          catch(exception& e)
          {
              printf("Unknown exception has occured\n");
          }
          catch(...)
          {
              printf("Unknown exception has occured\n");
          }
  	return 0;
  }
  
  
  
  1.1                  ws-axis/c/samples/client/array/ArrayTestPortType.cpp
  
  Index: ArrayTestPortType.cpp
  ===================================================================
  /*
   * This file was auto-generated by the Axis C++ Web Service Generator (WSDL2Ws)
   * This file contains Client Stub implementation for remote web service.
   */
  
  #include "ArrayTestPortType.h"
  
  #include <axis/server/AxisWrapperAPI.h>
  
  using namespace std;
  
   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();
  
  ArrayTestPortType::ArrayTestPortType(const char* pchEndpointUri, AXIS_PROTOCOL_TYPE eProtocol)
  :Stub(pchEndpointUri, eProtocol)
  {
  }
  
  ArrayTestPortType::ArrayTestPortType()
  :Stub(" ", APTHTTP)
  {
  	m_pCall->setEndpointURI("http://localhost/axis/array");
  }
  
  ArrayTestPortType::~ArrayTestPortType()
  {
  }
  
  
  /*Methods corresponding to the web service methods*/
  
  /*
   * This method wrap the service method echoIntArray
   */
  intArrayType* ArrayTestPortType::echoIntArray(intArrayType* Value0)
  {
  	intArrayType* pReturn = NULL;
  	const char* pcCmplxFaultName;
  	try
  	{
  		if (AXIS_SUCCESS != m_pCall->initialize(CPP_RPC_PROVIDER, NORMAL_CHANNEL)) 
  			return pReturn;
  		m_pCall->setTransportProperty(SOAPACTION_HEADER , "array#echoIntArray");
  		m_pCall->setSOAPVersion(SOAP_VER_1_1);
  		m_pCall->setOperation("echoIntArray", "http://soapinterop.org/");
  		applyUserPreferences();
  	m_pCall->addCmplxParameter(Value0, (void*)Axis_Serialize_intArrayType, (void*)Axis_Delete_intArrayType, "inputIntArrayType", Axis_URI_intArrayType);
  		if (AXIS_SUCCESS == m_pCall->invoke())
  		{
  			if(AXIS_SUCCESS == m_pCall->checkMessage("echoIntArrayResponse", "http://soapinterop.org/"))
  			{
  				pReturn = (intArrayType*)m_pCall->getCmplxObject((void*) Axis_DeSerialize_intArrayType, (void*) Axis_Create_intArrayType, (void*) Axis_Delete_intArrayType,"return", 0);
  		}
  		}
  		m_pCall->unInitialize();
  		return pReturn;
  	}
  	catch(AxisException& e)
  	{
  		int iExceptionCode = e.getExceptionCode();
  		if(AXISC_NODE_VALUE_MISMATCH_EXCEPTION != iExceptionCode)
  		{
  			m_pCall->unInitialize();
  			throw;
  		}
  		ISoapFault* pSoapFault = (ISoapFault*) m_pCall->checkFault("Fault","http://localhost/axis/array" );
  		if(pSoapFault)
  		{
  			m_pCall->unInitialize();
  			throw array_AxisClientException(pSoapFault);
  		}
  		else throw;
  	}
  }
  
  int ArrayTestPortType::getFaultDetail(char** ppcDetail)
  {
  	return m_pCall->getFaultDetail(ppcDetail);
  }
  
  
  
  
  1.1                  ws-axis/c/samples/client/array/ArrayTestPortType.h
  
  Index: ArrayTestPortType.h
  ===================================================================
  /*
   * This file was auto-generated by the Axis C++ Web Service Generator (WSDL2Ws)
   * This file contains Client Stub Class for remote web service 
   */
  
  #if !defined(__ARRAYTESTPORTTYPE_CLIENTSTUB_H__INCLUDED_)
  #define __ARRAYTESTPORTTYPE_CLIENTSTUB_H__INCLUDED_
  
  #include <axis/client/Stub.h>
  #include "array_AxisClientException.h"
  #include <axis/ISoapFault.h>
  #include "intArrayType.h"
  
  class ArrayTestPortType :public Stub
  {
  public:
  	ArrayTestPortType(const char* pchEndpointUri, AXIS_PROTOCOL_TYPE eProtocol=APTHTTP);
  	ArrayTestPortType();
  public:
  	virtual ~ArrayTestPortType();
  public: 
  	intArrayType* echoIntArray(intArrayType* Value0);
  	int getFaultDetail(char** ppcDetail);
  };
  
  #endif /* !defined(__ARRAYTESTPORTTYPE_CLIENTSTUB_H__INCLUDED_)*/
  
  
  
  1.1                  ws-axis/c/samples/client/array/Makefile.am
  
  Index: Makefile.am
  ===================================================================
  bin_PROGRAMS = array
  SUBDIRS =
  AM_CPPFLAGS = $(CPPFLAGS)
  array_SOURCES =  ArrayTestPortType.cpp intArrayType.cpp array_AxisClientException.cpp ArrayClient.cpp
  array_LDADD = @LINKCLIENTLIB@
  INCLUDES = -I$(AXISCPP_HOME)/include
  
  
  
  1.1                  ws-axis/c/samples/client/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@
  bin_PROGRAMS = array
  SUBDIRS = 
  AM_CPPFLAGS = $(CPPFLAGS)
  array_SOURCES = ArrayTestPortType.cpp intArrayType.cpp array_AxisClientException.cpp ArrayClient.cpp
  array_LDADD = @LINKCLIENTLIB@
  INCLUDES = -I$(AXISCPP_HOME)/include
  subdir = samples/client/array
  mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
  CONFIG_HEADER = $(top_builddir)/config.h
  CONFIG_CLEAN_FILES =
  bin_PROGRAMS = array$(EXEEXT)
  PROGRAMS = $(bin_PROGRAMS)
  
  am_array_OBJECTS = ArrayTestPortType.$(OBJEXT) intArrayType.$(OBJEXT) \
  	array_AxisClientException.$(OBJEXT) ArrayClient.$(OBJEXT)
  array_OBJECTS = $(am_array_OBJECTS)
  array_DEPENDENCIES =
  array_LDFLAGS =
  
  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)/ArrayClient.Po \
  @AMDEP_TRUE@	./$(DEPDIR)/ArrayTestPortType.Po \
  @AMDEP_TRUE@	./$(DEPDIR)/array_AxisClientException.Po \
  @AMDEP_TRUE@	./$(DEPDIR)/intArrayType.Po
  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 = $(array_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 = $(array_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/client/array/Makefile
  Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
  	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
  binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
  install-binPROGRAMS: $(bin_PROGRAMS)
  	@$(NORMAL_INSTALL)
  	$(mkinstalldirs) $(DESTDIR)$(bindir)
  	@list='$(bin_PROGRAMS)'; for p in $$list; do \
  	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
  	  if test -f $$p \
  	     || test -f $$p1 \
  	  ; then \
  	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
  	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \
  	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f; \
  	  else :; fi; \
  	done
  
  uninstall-binPROGRAMS:
  	@$(NORMAL_UNINSTALL)
  	@list='$(bin_PROGRAMS)'; for p in $$list; do \
  	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
  	  echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
  	  rm -f $(DESTDIR)$(bindir)/$$f; \
  	done
  
  clean-binPROGRAMS:
  	@list='$(bin_PROGRAMS)'; for p in $$list; do \
  	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
  	  echo " rm -f $$p $$f"; \
  	  rm -f $$p $$f ; \
  	done
  array$(EXEEXT): $(array_OBJECTS) $(array_DEPENDENCIES) 
  	@rm -f array$(EXEEXT)
  	$(CXXLINK) $(array_LDFLAGS) $(array_OBJECTS) $(array_LDADD) $(LIBS)
  
  mostlyclean-compile:
  	-rm -f *.$(OBJEXT) core *.core
  
  distclean-compile:
  	-rm -f *.tab.c
  
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ArrayClient.Po@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ArrayTestPortType.Po@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/array_AxisClientException.Po@am__quote@
  @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/intArrayType.Po@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 $(PROGRAMS)
  installdirs: installdirs-recursive
  installdirs-am:
  	$(mkinstalldirs) $(DESTDIR)$(bindir)
  
  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-binPROGRAMS clean-generic 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-binPROGRAMS
  
  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-binPROGRAMS uninstall-info-am
  
  uninstall-info: uninstall-info-recursive
  
  .PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
  	clean-binPROGRAMS clean-generic 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-binPROGRAMS 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-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-binPROGRAMS uninstall-info-am \
  	uninstall-info-recursive 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/client/array/array_AxisClientException.cpp
  
  Index: array_AxisClientException.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 "array_AxisClientException.h"
  
  #include <axis/server/AxisWrapperAPI.h>
  
  array_AxisClientException::array_AxisClientException()
  {
  /* This only serves the purpose of indicating that the 
   * service has thrown an excpetion 
   */ 
  	m_iExceptionCode = AXISC_SERVICE_THROWN_EXCEPTION; 
  	processException(m_iExceptionCode); 
  }
  
  array_AxisClientException::array_AxisClientException(ISoapFault* pFault)
  {
  	m_iExceptionCode = AXISC_SERVICE_THROWN_EXCEPTION;
  	processException(pFault);}
  
  array_AxisClientException::array_AxisClientException(int iExceptionCode)
  {
  
  	m_iExceptionCode = iExceptionCode;
  	processException (iExceptionCode);
  }
  
  array_AxisClientException::array_AxisClientException(exception* e)
  {
  	processException (e);
  }
  
  array_AxisClientException::array_AxisClientException(exception* e,int iExceptionCode)
  {
  
  	processException (e, iExceptionCode);
  }
  
  array_AxisClientException::~array_AxisClientException() throw () 
  {
  	m_sMessage ="";
  }
  
  void array_AxisClientException:: processException(exception* e, int iExceptionCode)
  {
  	m_sMessage = getMessage (e) + getMessage (iExceptionCode);
  }
  
  void array_AxisClientException::processException (ISoapFault* pFault)
  {
  	/*User can do something like deserializing the struct into a string*/
  }
  
  void array_AxisClientException::processException(exception* e)
  {
  	m_sMessage = getMessage (e);
  }
  
  void array_AxisClientException::processException(int iExceptionCode)
  {
  	m_sMessage = getMessage (iExceptionCode);
  }
  
  const string array_AxisClientException::getMessage (exception* objException)
  {
  	string sMessage = objException->what();
  	return sMessage;
  }
  
  const string array_AxisClientException::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* array_AxisClientException::what() throw ()
  {
  	return m_sMessage.c_str ();
  }
  
  const int array_AxisClientException::getExceptionCode(){
  	return m_iExceptionCode;
  }
  
  
  
  
  1.1                  ws-axis/c/samples/client/array/array_AxisClientException.h
  
  Index: array_AxisClientException.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(__AXISCLIENTEXCEPTION_EXCEPTION_H__INCLUDED_)
  #define __AXISCLIENTEXCEPTION_EXCEPTION_H__INCLUDED_
  
  #include <string>
  #include <exception>
  #include <axis/server/AxisException.h>
  #include <axis/ISoapFault.h>
  using namespace std;
  AXIS_CPP_NAMESPACE_USE 
  
  class array_AxisClientException: public AxisException
  {
  public:
  	array_AxisClientException();
  	array_AxisClientException(ISoapFault* pFault);
  	array_AxisClientException(int iExceptionCode);
  	array_AxisClientException(exception* e);
  	array_AxisClientException(exception* e, int iExceptionCode);
  	virtual ~array_AxisClientException() 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(__AXISCLIENTEXCEPTION_EXCEPTION_H__INCLUDED_)*/
  
  
  
  1.1                  ws-axis/c/samples/client/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/client/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_)*/