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 ro...@apache.org on 2004/08/17 12:17:12 UTC

cvs commit: ws-axis/c/tests/client/threadSafe/WinClient Calculator.h Calculator.cpp

roshan      2004/08/17 03:17:12

  Modified:    c/tests/client/threadSafe/WinClient Calculator.h
                        Calculator.cpp
  Log:
  modifications were done to reflect the recent changes in the code
  
  Revision  Changes    Path
  1.2       +12 -16    ws-axis/c/tests/client/threadSafe/WinClient/Calculator.h
  
  Index: Calculator.h
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/tests/client/threadSafe/WinClient/Calculator.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Calculator.h	23 Jun 2004 12:20:19 -0000	1.1
  +++ Calculator.h	17 Aug 2004 10:17:12 -0000	1.2
  @@ -1,24 +1,20 @@
   /*
  - * This file was auto-generated by the Axis C++ Web Service Generator (WSDL2Ws)
  - * This file contains Client Stub Class for remote web service 
  + * This is the Client Stub Class genarated by the tool WSDL2Ws
  + * Calculator.h: interface for the Calculatorclass.
  + *
    */
  -
  -#if !defined(__CALCULATOR_CLIENTSTUB_H__INCLUDED_)
  -#define __CALCULATOR_CLIENTSTUB_H__INCLUDED_
  +#if !defined(__CALCULATOR_CLIENTSTUB_H__OF_AXIS_INCLUDED_)
  +#define __CALCULATOR_CLIENTSTUB_H__OF_AXIS_INCLUDED_
   
   #include <axis/client/Stub.h>
  -#include <axis/server/AxisException.h>
  -/*include Exception header files here*/
  -
  -
  -
  -
  +#include <ctype.h>
   
  -class Calculator :public Stub
  +class Calculator 
   {
  +private:
  +	Call* m_pCall;
   public:
  -	Calculator(const char* pchEndpointUri, AXIS_PROTOCOL_TYPE eProtocol);
  -	Calculator();
  +	Calculator(const char* pchEndpointUri);
   public:
   	virtual ~Calculator();
   public: 
  @@ -26,7 +22,7 @@
   	int sub(int Value0,int Value1);
   	int mul(int Value0,int Value1);
   	int div(int Value0,int Value1);
  -	int getFaultDetail(char** ppcDetail);
  +        int getFaultDetail(char** ppcDetail);
   };
   
  -#endif /* !defined(__CALCULATOR_CLIENTSTUB_H__INCLUDED_)*/
  +#endif /* !defined(__CALCULATOR_CLIENTSTUB_H__OF_AXIS_INCLUDED_)*/
  
  
  
  1.3       +72 -168   ws-axis/c/tests/client/threadSafe/WinClient/Calculator.cpp
  
  Index: Calculator.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/tests/client/threadSafe/WinClient/Calculator.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Calculator.cpp	28 Jun 2004 11:47:46 -0000	1.2
  +++ Calculator.cpp	17 Aug 2004 10:17:12 -0000	1.3
  @@ -10,237 +10,139 @@
   #include "Thread.h"
   #include <axis/server/AxisWrapperAPI.h>
   
  -using namespace std;
  -
  - Calculator::Calculator(const char* pchEndpointUri, AXIS_PROTOCOL_TYPE eProtocol)
  -:Stub(pchEndpointUri, eProtocol)
  -{
  -}
  -
  -Calculator::Calculator()
  -:Stub(" ", APTHTTP)
  -{
  -	m_pCall->setEndpointURI("http://localhost/axis/Calculator");
  +bool CallBase::bInitialized;
  +CallFunctions CallBase::ms_VFtable;
  +Calculator::Calculator(const char* pchEndpointUri)
  +{
  +	m_pCall = new Call();
  +	m_pCall->setProtocol(APTHTTP);
  +	m_pCall->setEndpointURI(pchEndpointUri);
   }
   
   Calculator::~Calculator()
   {
  +	delete m_pCall;
   }
   
   
   /*Methods corresponding to the web service methods*/
   
   /*
  - * This method wrap the service method add
  + * This method wrap the service methodadd
    */
   int Calculator::add(int Value0, int Value1)
   {
   	int Ret;
  -	char* cFaultcode;
  -	char* cFaultstring;
  -	char* cFaultactor;
  -	char* cFaultdetail;
  -	try
  +	if (AXIS_SUCCESS != m_pCall->initialize(CPP_RPC_PROVIDER, NORMAL_CHANNEL)) return Ret;
  +	m_pCall->setTransportProperty(SOAPACTION_HEADER , "Calculator#add");
  +	m_pCall->setSOAPVersion(SOAP_VER_1_1);
  +	m_pCall->setOperation("add", "http://localhost/axis/Calculator");
  +	m_pCall->addParameter((void*)&Value0, "in0", XSD_INT);
  +	m_pCall->addParameter((void*)&Value1, "in1", XSD_INT);
  +	if (AXIS_SUCCESS == m_pCall->invoke())
   	{
  -		if (AXIS_SUCCESS != m_pCall->initialize(CPP_RPC_PROVIDER, NORMAL_CHANNEL)) 
  -			return Ret;
  -		m_pCall->setTransportProperty(SOAPACTION_HEADER , "Calculator#add");
  -		m_pCall->setSOAPVersion(SOAP_VER_1_1);
  -		m_pCall->setOperation("add", "http://localhost/axis/Calculator");
  -		applyUserPreferences();
  -		m_pCall->addParameter((void*)&Value0, "in0", XSD_INT);
  -		m_pCall->addParameter((void*)&Value1, "in1", XSD_INT);
  -		if (AXIS_SUCCESS == m_pCall->invoke())
  +		if(AXIS_SUCCESS == m_pCall->checkMessage("addResponse", "http://localhost/axis/Calculator"))
   		{
  -			if(AXIS_SUCCESS == m_pCall->checkMessage("addResponse", "http://localhost/axis/Calculator"))
  -			{
  -				Ret = m_pCall->getElementAsInt("addReturn", 0);
  -			}
  +			Ret = m_pCall->getElementAsInt("addReturn", 0);
  +                        printf("Ret:%d\n", Ret);
   		}
  -		m_pCall->unInitialize();
  -		return Ret;
  -	}
  -	catch(AxisException& e)
  -	{
  -		int iExceptionCode = e.getExceptionCode();
  -		if(AXISC_NODE_VALUE_MISMATCH_EXCEPTION != iExceptionCode)
  -		{
  -			throw;
  -		}
  -		else if (AXIS_SUCCESS == m_pCall->checkFault("Fault","http://localhost/axis/Calculator" ))//Exception handling code goes here
  -		{
  -			cFaultcode = m_pCall->getElementAsString("faultcode", 0);
  -			cFaultstring = m_pCall->getElementAsString("faultstring", 0);
  -			cFaultactor = m_pCall->getElementAsString("faultactor", 0);
  -				  cFaultdetail = m_pCall->getElementAsString("faultdetail", 0);
  -				  throw AxisGenException(cFaultdetail);
  -		}
  -		else throw;
   	}
  +	m_pCall->unInitialize();
  +	return Ret;
   }
   
   
   /*
  - * This method wrap the service method sub
  + * This method wrap the service methodsub
    */
   int Calculator::sub(int Value0, int Value1)
   {
   	int Ret;
  -	char* cFaultcode;
  -	char* cFaultstring;
  -	char* cFaultactor;
  -	char* cFaultdetail;
  -	try
  -	{
  -		if (AXIS_SUCCESS != m_pCall->initialize(CPP_RPC_PROVIDER, NORMAL_CHANNEL)) 
  -			return Ret;
  -		m_pCall->setTransportProperty(SOAPACTION_HEADER , "Calculator#sub");
  -		m_pCall->setSOAPVersion(SOAP_VER_1_1);
  -		m_pCall->setOperation("sub", "http://localhost/axis/Calculator");
  -		applyUserPreferences();
  -		m_pCall->addParameter((void*)&Value0, "in0", XSD_INT);
  -		m_pCall->addParameter((void*)&Value1, "in1", XSD_INT);
  -		if (AXIS_SUCCESS == m_pCall->invoke())
  -		{
  -			if(AXIS_SUCCESS == m_pCall->checkMessage("subResponse", "http://localhost/axis/Calculator"))
  -			{
  -				Ret = m_pCall->getElementAsInt("subReturn", 0);
  -			}
  -		}
  -		m_pCall->unInitialize();
  -		return Ret;
  -	}
  -	catch(AxisException& e)
  +	if (AXIS_SUCCESS != m_pCall->initialize(CPP_RPC_PROVIDER, NORMAL_CHANNEL)) return Ret;
  +	m_pCall->setTransportProperty(SOAPACTION_HEADER , "Calculator#sub");
  +	m_pCall->setSOAPVersion(SOAP_VER_1_1);
  +	m_pCall->setOperation("sub", "http://localhost/axis/Calculator");
  +	m_pCall->addParameter((void*)&Value0, "in0", XSD_INT);
  +	m_pCall->addParameter((void*)&Value1, "in1", XSD_INT);
  +	if (AXIS_SUCCESS == m_pCall->invoke())
   	{
  -		int iExceptionCode = e.getExceptionCode();
  -		if(AXISC_NODE_VALUE_MISMATCH_EXCEPTION != iExceptionCode)
  -		{
  -			throw;
  -		}
  -		else if (AXIS_SUCCESS == m_pCall->checkFault("Fault","http://localhost/axis/Calculator" ))//Exception handling code goes here
  +		if(AXIS_SUCCESS == m_pCall->checkMessage("subResponse", "http://localhost/axis/Calculator"))
   		{
  -			cFaultcode = m_pCall->getElementAsString("faultcode", 0);
  -			cFaultstring = m_pCall->getElementAsString("faultstring", 0);
  -			cFaultactor = m_pCall->getElementAsString("faultactor", 0);
  -				  cFaultdetail = m_pCall->getElementAsString("faultdetail", 0);
  -				  throw AxisGenException(cFaultdetail);
  +			Ret = m_pCall->getElementAsInt("subReturn", 0);
  +			printf("Ret:%d\n", Ret);
   		}
  -		else throw;
   	}
  +	m_pCall->unInitialize();
  +	return Ret;
   }
   
   
   /*
  - * This method wrap the service method mul
  + * This method wrap the service methodmul
    */
   int Calculator::mul(int Value0, int Value1)
   {
   	int Ret;
  -	char* cFaultcode;
  -	char* cFaultstring;
  -	char* cFaultactor;
  -	char* cFaultdetail;
  -	try
  +	if (AXIS_SUCCESS != m_pCall->initialize(CPP_RPC_PROVIDER, NORMAL_CHANNEL)) return Ret;
  +	m_pCall->setTransportProperty(SOAPACTION_HEADER , "Calculator#mul");
  +	m_pCall->setSOAPVersion(SOAP_VER_1_1);
  +	m_pCall->setOperation("mul", "http://localhost/axis/Calculator");
  +	m_pCall->addParameter((void*)&Value0, "in0", XSD_INT);
  +	m_pCall->addParameter((void*)&Value1, "in1", XSD_INT);
  +	if (AXIS_SUCCESS == m_pCall->invoke())
   	{
  -		if (AXIS_SUCCESS != m_pCall->initialize(CPP_RPC_PROVIDER, NORMAL_CHANNEL)) 
  -			return Ret;
  -		m_pCall->setTransportProperty(SOAPACTION_HEADER , "Calculator#mul");
  -		m_pCall->setSOAPVersion(SOAP_VER_1_1);
  -		m_pCall->setOperation("mul", "http://localhost/axis/Calculator");
  -		applyUserPreferences();
  -		m_pCall->addParameter((void*)&Value0, "in0", XSD_INT);
  -		m_pCall->addParameter((void*)&Value1, "in1", XSD_INT);
  -		if (AXIS_SUCCESS == m_pCall->invoke())
  +		if(AXIS_SUCCESS == m_pCall->checkMessage("mulResponse", "http://localhost/axis/Calculator"))
   		{
  -			if(AXIS_SUCCESS == m_pCall->checkMessage("mulResponse", "http://localhost/axis/Calculator"))
  -			{
  -				Ret = m_pCall->getElementAsInt("addReturn", 0);
  -			}
  +			Ret = m_pCall->getElementAsInt("addReturn", 0);
  +			printf("Ret:%d\n", Ret);
   		}
  -		m_pCall->unInitialize();
  -		return Ret;
  -	}
  -	catch(AxisException& e)
  -	{
  -		int iExceptionCode = e.getExceptionCode();
  -		if(AXISC_NODE_VALUE_MISMATCH_EXCEPTION != iExceptionCode)
  -		{
  -			throw;
  -		}
  -		else if (AXIS_SUCCESS == m_pCall->checkFault("Fault","http://localhost/axis/Calculator" ))//Exception handling code goes here
  -		{
  -			cFaultcode = m_pCall->getElementAsString("faultcode", 0);
  -			cFaultstring = m_pCall->getElementAsString("faultstring", 0);
  -			cFaultactor = m_pCall->getElementAsString("faultactor", 0);
  -				  cFaultdetail = m_pCall->getElementAsString("faultdetail", 0);
  -				  throw AxisGenException(cFaultdetail);
  -		}
  -		else throw;
   	}
  +	m_pCall->unInitialize();
  +	return Ret;
   }
   
   
   /*
  - * This method wrap the service method div
  + * This method wrap the service methoddiv
    */
   int Calculator::div(int Value0, int Value1)
   {
   	int Ret;
  -	char* cFaultcode;
  -	char* cFaultstring;
  -	char* cFaultactor;
  -	char* cFaultdetail;
  -	try
  -	{
  -		if (AXIS_SUCCESS != m_pCall->initialize(CPP_RPC_PROVIDER, NORMAL_CHANNEL)) 
  -			return Ret;
  -		m_pCall->setTransportProperty(SOAPACTION_HEADER , "Calculator#div");
  -		m_pCall->setSOAPVersion(SOAP_VER_1_1);
  -		m_pCall->setOperation("div", "http://localhost/axis/Calculator");
  -		applyUserPreferences();
  -		m_pCall->addParameter((void*)&Value0, "in0", XSD_INT);
  -		m_pCall->addParameter((void*)&Value1, "in1", XSD_INT);
  -		if (AXIS_SUCCESS == m_pCall->invoke())
  -		{
  -			if(AXIS_SUCCESS == m_pCall->checkMessage("divResponse", "http://localhost/axis/Calculator"))
  -			{
  -				Ret = m_pCall->getElementAsInt("addReturn", 0);
  -			}
  -		}
  -		m_pCall->unInitialize();
  -		return Ret;
  -	}
  -	catch(AxisException& e)
  +	if (AXIS_SUCCESS != m_pCall->initialize(CPP_RPC_PROVIDER, NORMAL_CHANNEL)) return Ret;
  +	m_pCall->setTransportProperty(SOAPACTION_HEADER , "Calculator#div");
  +	m_pCall->setSOAPVersion(SOAP_VER_1_1);
  +	m_pCall->setOperation("div", "http://localhost/axis/Calculator");
  +	m_pCall->addParameter((void*)&Value0, "in0", XSD_INT);
  +	m_pCall->addParameter((void*)&Value1, "in1", XSD_INT);
  +	if (AXIS_SUCCESS == m_pCall->invoke())
   	{
  -		int iExceptionCode = e.getExceptionCode();
  -		if(AXISC_NODE_VALUE_MISMATCH_EXCEPTION != iExceptionCode)
  -		{
  -			throw;
  -		}
  -		else if (AXIS_SUCCESS == m_pCall->checkFault("Fault","http://localhost/axis/Calculator" ))//Exception handling code goes here
  +		if(AXIS_SUCCESS == m_pCall->checkMessage("divResponse", "http://localhost/axis/Calculator"))
   		{
  -			cFaultcode = m_pCall->getElementAsString("faultcode", 0);
  -			cFaultstring = m_pCall->getElementAsString("faultstring", 0);
  -			cFaultactor = m_pCall->getElementAsString("faultactor", 0);
  -				  cFaultdetail = m_pCall->getElementAsString("faultdetail", 0);
  -				  throw AxisGenException(cFaultdetail);
  +			Ret = m_pCall->getElementAsInt("addReturn", 0);
  +			printf("Ret:%d\n", Ret);
   		}
  -		else throw;
   	}
  +	m_pCall->unInitialize();
  +	return Ret;
   }
   
   int Calculator::getFaultDetail(char** ppcDetail)
   {
  -	return m_pCall->getFaultDetail(ppcDetail);
  +    m_pCall->getFaultDetail(ppcDetail);
  +	return 0;
   }
  +
  +
   		
   
   
   
   DWORD WINAPI Threaded( LPVOID /* lpData */ )
   {
  -	Calculator cal;
  -
  +	char endpoint[256];
  +	printf("Sending Requests to Server http://%s:%s ........\n\n", "localhost", "80");
  +	sprintf(endpoint, "http://%s:%s/axis/Calculator", "localhost", "80");
  +	Calculator cal(endpoint);
   	for(;;)
   	{
   		
  @@ -254,8 +156,10 @@
   
   DWORD WINAPI Threaded1( LPVOID /* lpData */ )
   {
  -
  -	Calculator cal1;
  +	char endpoint[256];
  +	printf("Sending Requests to Server http://%s:%s ........\n\n", "localhost", "80");
  +	sprintf(endpoint, "http://%s:%s/axis/Calculator", "localhost", "80");
  +	Calculator cal1(endpoint);
   	
   	for(;;)
   	{