You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ja...@apache.org on 2005/07/12 07:09:32 UTC

cvs commit: ws-axis/c/tests/auto_build/testcases/client/cpp AttNillableAttachment.cpp AttMultiSameAttachment.cpp AttMultiAttachmentFault.cpp AttPlainText.cpp AttDataHandlerImage.cpp AttMultiAttachment.cpp AttDataHandlerExecuteClass.cpp

jamejose    2005/07/11 22:09:32

  Added:       c/tests/auto_build/testcases/client/cpp
                        AttNillableAttachment.cpp
                        AttMultiSameAttachment.cpp
                        AttMultiAttachmentFault.cpp AttPlainText.cpp
                        AttDataHandlerImage.cpp AttMultiAttachment.cpp
                        AttDataHandlerExecuteClass.cpp
  Log:
  Testcases for Attachment Support
  
  Revision  Changes    Path
  1.1                  ws-axis/c/tests/auto_build/testcases/client/cpp/AttNillableAttachment.cpp
  
  Index: AttNillableAttachment.cpp
  ===================================================================
  // 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.
  
  /* This program tests nillable attachments. */ 
  
  #include "AttachmentService.hpp"
  #include <axis/AxisException.hpp>
  #include <ctype.h>
  #include <iostream>
  #include <fstream>
  #include <string.h>
  
  int main(int argc, char* argv[])
  {
  	char endpoint[256];
  	const char* url="http://localhost:80/axis/AttachmentService";	
  	char *Result;
  	url = argv[1];
  	bool bSuccess = false;
  	int	iRetryIterationCount = 3;
  	do
  		{
  			try
  			{
  				sprintf(endpoint, "%s", url);
  				AttachmentService ws(endpoint);
  				ISoapAttachment *att=ws.createSoapAttachment();
  				//declare an ifstream object to read from a file.
  			    ifstream is;
  				//Opening a file which contans an actual SOAP Message.
  				is.open ("SOAPMessage.xml",ios::binary);
  				if(is==NULL){
  					cout<<"Filepath specified for attachment is wrong";
  					exit(0);
  				}
  				//Finding out the number of bytes in the file
  				is.seekg (0, ios::end);
  				int length = is.tellg();
  				is.seekg (0, ios::beg);
  				char *buffer;
  				
  				// allocate memory:
  
  				buffer = new char [length];
  				// read data as a block:
  				is.read (buffer,length); 				
                  is.close(); 
  
  				//Adding the content type as text/xml
  				att->addHeader(AXIS_CONTENT_TYPE,"text/xml");
  				xsd__base64Binary b64b1;
  				b64b1.__ptr = (xsd__unsignedByte*)buffer;
  				b64b1.__size = length;				
  				att->addBody(&b64b1);
  				//Calling the service. Here passing NULL as argument
  				//Service will return the content of 'att' ie content of first argument
  				xsd__string str=ws.nillableAttachment(att,NULL,NULL,"hello");
  				if(str!=NULL)
  				   cout<<str<<endl;
  				else
  					cout<<"<null>"<<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;
  }
  
  
  
  
  1.1                  ws-axis/c/tests/auto_build/testcases/client/cpp/AttMultiSameAttachment.cpp
  
  Index: AttMultiSameAttachment.cpp
  ===================================================================
  // 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.
  
  /* This program sends multiple attachments to a service.*/
  
  #include "AttachmentService.hpp"
  #include <axis/AxisException.hpp>
  #include <axis/AxisUserAPI.hpp>
  #include <ctype.h>
  #include <iostream>
  #include <fstream>
  #include <string.h>
  
  int main(int argc, char* argv[])
  {
  	char endpoint[256];
  	const char* url="http://localhost:80/axis/AttachmentService";	
  	char *Result;
  	url = argv[1];
  	bool bSuccess = false;
  	int	iRetryIterationCount = 3;
  	do
  		{
  			try
  			{
  				sprintf(endpoint, "%s", url);
  				AttachmentService ws(endpoint);
  				ISoapAttachment *att1=ws.createSoapAttachment();
  				ISoapAttachment *att2=ws.createSoapAttachment();				
  				char *text="This is a test message for attachment";
  				//Adding the content type as text/plain
  				att1->addHeader(AXIS_CONTENT_TYPE,"text/plain");
  				att2->addHeader(AXIS_CONTENT_ID,"5");
  				att2->addHeader(AXIS_CONTENT_TYPE,"image/jpeg");
  				xsd__base64Binary b64b1;
  				b64b1.__ptr = (xsd__unsignedByte*)text;
  				b64b1.__size = strlen(text);				
  				att1->addBody(&b64b1);
  				att2->addBody(&b64b1);				
  				//Calling webservice with multiple attachments. Here same object is passed as argument
  				xsd__string_Array ret=ws.multiAttachment(att1,att1,att2,att1);
  				cout<<ret.m_Array[0]<<endl;
  				cout<<ret.m_Array[1]<<endl;
  				cout<<ret.m_Array[2]<<endl;
  				cout<<ret.m_Array[3]<<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;
  }
  
  
  
  
  1.1                  ws-axis/c/tests/auto_build/testcases/client/cpp/AttMultiAttachmentFault.cpp
  
  Index: AttMultiAttachmentFault.cpp
  ===================================================================
  // 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.
  
  /* This program sends multiple attachments to a service.
     Server will send a fault message.
     Program tests how engine handle this fault message. 
  */
  
  #include "AttachmentService.hpp"
  #include <axis/AxisException.hpp>
  #include <axis/AxisUserAPI.hpp>
  #include <ctype.h>
  #include <iostream>
  #include <fstream>
  #include <string.h>
  
  int main(int argc, char* argv[])
  {
  	char endpoint[256];
  	const char* url="http://localhost:80/axis/AttachmentService";	
  	char *Result;
  	url = argv[1];
  	bool bSuccess = false;
  	int	iRetryIterationCount = 3;
  	do
  		{
  			try
  			{
  				sprintf(endpoint, "%s", url);
  				AttachmentService ws(endpoint);
  				ISoapAttachment *att=ws.createSoapAttachment();
  				ISoapAttachment *att1=ws.createSoapAttachment();
  				ISoapAttachment *att2=ws.createSoapAttachment();
  				ISoapAttachment *att3=ws.createSoapAttachment();
  				char *text="This is a test message for attachment";
  				//Adding the content type as text/plain
  				att->addHeader(AXIS_CONTENT_TYPE,"text/plain");
  				att2->addHeader(AXIS_CONTENT_ID,"5");
  				att2->addHeader(AXIS_CONTENT_TYPE,"image/jpeg");
  				att2->addHeader(AXIS_CONTENT_TRANSFER_ENCODING,"base64");
  				xsd__base64Binary b64b1;
  				b64b1.__ptr = (xsd__unsignedByte*)text;
  				b64b1.__size = strlen(text);				
  				att->addBody(&b64b1);
  				att1->addBody(&b64b1);
  				att2->addBody(&b64b1);
  				att3->addBody(&b64b1);
  				//Calling webservice with multiple attachments.This call will results in a SOAP Fault 
  				//Server will send fault message..
  				xsd__string_Array ret=ws.multiAttachment(NULL,att1,att2,att3);
  				cout<<ret.m_Array[0]<<endl;
  				cout<<ret.m_Array[1]<<endl;
  				cout<<ret.m_Array[2]<<endl;
  				cout<<ret.m_Array[3]<<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;
  }
  
  
  
  
  1.1                  ws-axis/c/tests/auto_build/testcases/client/cpp/AttPlainText.cpp
  
  Index: AttPlainText.cpp
  ===================================================================
  // 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.
  
  /* This program sends some text to a web service. Service will echo the content 
     back to the program.
     This is a test for Attachment Type 'PlainText'
     */ 
  
  #include "AttachmentBindingImpl.hpp"
  #include <axis/AxisException.hpp>
  #include <ctype.h>
  #include <iostream>
  #include <fstream>
  #include <string.h>
  
  int main(int argc, char* argv[])
  {
  	char endpoint[256];
  	const char* url="http://localhost:80/axis/PlainTextAttachment";	
  	char *Result;
  	url = argv[1];
  	bool bSuccess = false;
  	int	iRetryIterationCount = 3;
  	do
  		{
  			try
  			{
  				sprintf(endpoint, "%s", url);
  				AttachmentBindingImpl ws(endpoint);
  				ISoapAttachment *att=ws.createSoapAttachment();				
  				char *text="This is a test message for attachment";
  				//Adding the content type as text/plain
  				att->addHeader(AXIS_CONTENT_TYPE,"text/plain");
  				xsd__base64Binary b64b1;
  				b64b1.__ptr = (xsd__unsignedByte*)text;
  				b64b1.__size = strlen(text);				
  				att->addBody(&b64b1);
  				//Calling the dataHandlerService, service will return content		        
  				Result=ws.echoText(att);				
  			    cout<<Result<<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;
  }
  
  
  
  
  1.1                  ws-axis/c/tests/auto_build/testcases/client/cpp/AttDataHandlerImage.cpp
  
  Index: AttDataHandlerImage.cpp
  ===================================================================
  // 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.
  
  /* This program sends an image file to a web service. Service will return the size of  attachment
     back to the program */ 
  
  #include "DataHandlerService.hpp"
  #include <axis/AxisException.hpp>
  #include <ctype.h>
  #include <iostream>
  #include <fstream>
  #include <string.h>
  
  int main(int argc, char* argv[])
  {
  	char endpoint[256];
  	const char* url="http://localhost:80/axis/DataHandlerService";	
  	char *Result;
  	url = argv[1];
  	bool bSuccess = false;
  	int	iRetryIterationCount = 3;
  	do
  		{
  			try
  			{
  				sprintf(endpoint, "%s", url);
  				DataHandlerService ws(endpoint);
  				ISoapAttachment *att=ws.createSoapAttachment();
  				//declare an ifstream object to read from a file.
  			    ifstream is;
  				//Open the file in binary mode
  				is.open ("pic13290.gif", ios::binary );				
  				if(is==NULL){
  					cout<<"Filepath specified for attachment is wrong";
  					exit(0);
  				}
  				//Finding out the number of bytes in the file
  				is.seekg (0, ios::end);
  				int length = is.tellg();
  				is.seekg (0, ios::beg);
  				char *buffer;
  				
  				// allocate memory:
  
  				buffer = new char [length];
  				// read data as a block:
  				is.read (buffer,length); 				
                  is.close(); 
  
  				//Adding the content type as image/jpeg
  				att->addHeader(AXIS_CONTENT_TYPE,"image/jpeg");
  				xsd__base64Binary b64b1;
  				b64b1.__ptr = (xsd__unsignedByte*)buffer;
  				b64b1.__size = length;				
  				att->addBody(&b64b1);
  				
  				//Calling the dataHandlerService, service will return number of bytes send
  				int numBytes=ws.getNoOfBytes(att);
  				//Test will pass if the number of bytes send and received are same.				
  				cout<<numBytes<<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;
  }
  
  
  
  
  1.1                  ws-axis/c/tests/auto_build/testcases/client/cpp/AttMultiAttachment.cpp
  
  Index: AttMultiAttachment.cpp
  ===================================================================
  // 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.
  
  /* This program sends multiple attachments to a service.*/
  
  #include "AttachmentService.hpp"
  #include <axis/AxisException.hpp>
  #include <axis/AxisUserAPI.hpp>
  #include <ctype.h>
  #include <iostream>
  #include <fstream>
  #include <string.h>
  
  int main(int argc, char* argv[])
  {
  	char endpoint[256];
  	const char* url="http://localhost:80/axis/AttachmentService";	
  	char *Result;
  	url = argv[1];
  	bool bSuccess = false;
  	int	iRetryIterationCount = 3;
  	do
  		{
  			try
  			{
  				sprintf(endpoint, "%s", url);
  				AttachmentService ws(endpoint);
  				ISoapAttachment *att=ws.createSoapAttachment();
  				ISoapAttachment *att1=ws.createSoapAttachment();
  				ISoapAttachment *att2=ws.createSoapAttachment();
  				ISoapAttachment *att3=ws.createSoapAttachment();
  				char *text="This is a test message for attachment";
  				//Adding the content type as text/plain
  				att->addHeader(AXIS_CONTENT_TYPE,"text/plain");
  				//Adding the content id
  				att2->addHeader(AXIS_CONTENT_ID,"5");
  				att2->addHeader(AXIS_CONTENT_TYPE,"image/jpeg");
  				xsd__base64Binary b64b1;
  				b64b1.__ptr = (xsd__unsignedByte*)text;
  				b64b1.__size = strlen(text);				
  				att->addBody(&b64b1);
  				att1->addBody(&b64b1);
  				att2->addBody(&b64b1);
  				att3->addBody(&b64b1);
  				//Calling webservice with multiple attachments
  				xsd__string_Array ret=ws.multiAttachment(att,att1,att2,att3);
  				cout<<ret.m_Array[0]<<endl;
  				cout<<ret.m_Array[1]<<endl;
  				cout<<ret.m_Array[2]<<endl;
  				cout<<ret.m_Array[3]<<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;
  }
  
  
  
  
  1.1                  ws-axis/c/tests/auto_build/testcases/client/cpp/AttDataHandlerExecuteClass.cpp
  
  Index: AttDataHandlerExecuteClass.cpp
  ===================================================================
  // 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.
  
  /* This program sends a class file to a web service. 
      Service will execute the class file and send back the result of execution.
  */ 
  
  #include "DataHandlerService.hpp"
  #include <axis/AxisException.hpp>
  #include <ctype.h>
  #include <iostream>
  #include <fstream>
  #include <string.h>
  
  int main(int argc, char* argv[])
  {
  	char endpoint[256];
  	const char* url="http://localhost:80/axis/DataHandlerService";	
  	char *Result;
  	url = argv[1];
  	bool bSuccess = false;
  	int	iRetryIterationCount = 3;
  	do
  		{
  			try
  			{
  				sprintf(endpoint, "%s", url);
  				DataHandlerService ws(endpoint);
  				ISoapAttachment *att=ws.createSoapAttachment();
  				//declare an ifstream object to read from a file.
  			    ifstream is;
  				//Open the file in binary mode
  				is.open ("TestClass.class", ios::binary );				
  				if(is==NULL){
  					cout<<"Filepath specified for attachment is wrong";
  					exit(0);
  				}
  				//Finding out the number of bytes in the file
  				is.seekg (0, ios::end);
  				int length = is.tellg();
  				is.seekg (0, ios::beg);
  				char *buffer;
  				
  				// allocate memory:
  
  				buffer = new char [length];
  				// read data as a block:
  				is.read (buffer,length); 				
                  is.close(); 
  
  				//Adding the content type as plain/text
  				att->addHeader(AXIS_CONTENT_TYPE,"plain/text");
  				xsd__base64Binary b64b1;
  				b64b1.__ptr = (xsd__unsignedByte*)buffer;
  				b64b1.__size = length;				
  				att->addBody(&b64b1);				
  				//Calling the dataHandlerService, service will return result of execution of the class file
  				xsd__string Result=ws.executeClass(att,"TestClass");
  				//Test will pass if the number of bytes send and received are same.				
  				cout<<Result<<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;
  }