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(;;)
{