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 ja...@apache.org on 2005/12/14 12:46:12 UTC

svn commit: r356771 - /webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ProgrammaticTest1Client.cpp

Author: jamejose
Date: Wed Dec 14 03:45:46 2005
New Revision: 356771

URL: http://svn.apache.org/viewcvs?rev=356771&view=rev
Log:
Commiting test for programmaticConfiguration

Added:
    webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ProgrammaticTest1Client.cpp

Added: webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ProgrammaticTest1Client.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ProgrammaticTest1Client.cpp?rev=356771&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ProgrammaticTest1Client.cpp (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ProgrammaticTest1Client.cpp Wed Dec 14 03:45:46 2005
@@ -0,0 +1,127 @@
+// Copyright 2003-2004 The Apache Software Foundation.
+// (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved
+// 
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+// 
+//        http://www.apache.org/licenses/LICENSE-2.0
+// 
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "Calculator.hpp"
+#include <axis/AxisException.hpp>
+#include <ctype.h>
+#include <iostream>
+#include <signal.h>
+#include <axis/AxisCPPConfigDefaults.hpp>
+
+
+void sig_handler(int);
+void PrintUsage();
+bool IsNumber(const char* p);
+
+int main(int argc, char* argv[])
+{
+	char endpoint[256];
+	const char* url="http://localhost:80/axis/Calculator";
+	const char* op = 0;
+	int i1=0, i2=0;
+	int iResult;
+
+	signal(SIGILL, sig_handler);
+	signal(SIGABRT, sig_handler);
+	signal(SIGSEGV, sig_handler);
+	//signal(SIGQUIT, sig_handler);
+	//signal(SIGBUS, sig_handler);
+	signal(SIGFPE, sig_handler);
+
+	url = argv[1];
+
+		bool bSuccess = false;
+		int	iRetryIterationCount = 3;
+
+		do
+		{
+	try
+	{
+		sprintf(endpoint, "%s", url);
+
+		/* Programmatically setting the ClientLog  */
+
+		AxisCPPConfigDefaults config;
+		config.setClientLog("CalculatorClientLog.dat");
+		config.apply();		
+		Calculator ws(endpoint);
+		op = "add";
+		i1 = 2;
+		i2 = 3;
+
+		if (strcmp(op, "add") == 0)
+		{
+			iResult = ws.add(i1, i2);
+			cout << iResult << endl;
+			bSuccess = true;
+		}
+	}
+	catch(AxisException& e)
+	{
+			bool bSilent = false;
+
+			if( e.getExceptionCode() == CLIENT_TRANSPORT_OPEN_CONNECTION_FAILED)
+			{
+				if( iRetryIterationCount > 0)
+				{
+					bSilent = true;
+				}
+			}
+			else
+			{
+				iRetryIterationCount = 0;
+			}
+
+            if( !bSilent)
+			{
+				cout << "Exception : " << e.what() << endl;
+			}
+	}
+	catch(exception& e)
+	{
+	    cout << "Unknown exception has occured" << endl;
+	}
+	catch(...)
+	{
+	    cout << "Unknown exception has occured" << endl;
+	}
+		iRetryIterationCount--;
+		} while( iRetryIterationCount > 0 && !bSuccess);
+  cout<< "---------------------- TEST COMPLETE -----------------------------"<< endl;
+	
+	return 0;
+}
+
+void PrintUsage()
+{
+	printf("Usage :\n Calculator <url>\n\n");
+	exit(1);
+}
+
+bool IsNumber(const char* p)
+{
+	for (int x=0; x < strlen(p); x++)
+	{
+		if (!isdigit(p[x])) return false;
+	}
+	return true;
+}
+
+void sig_handler(int sig) {
+	signal(sig, sig_handler);
+    cout << "SIGNAL RECEIVED " << sig << endl;
+	exit(1);
+}
+