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 ha...@apache.org on 2004/08/27 14:03:00 UTC

cvs commit: ws-axis/c/tests/auto_build/testcases/client/c AxisBenchClient.c EnumerationClient.c LargeReturningString.c RecurseTypesClient.c SimpleTypeArrayClient.c SimpleTypeInnerUnboundedClient.c SimpleTypeInnerUnboundedInOutputClient.c TradeServicesClient.c

hawkeye     2004/08/27 05:03:00

  Added:       c/tests/auto_build/testcases/client/c AxisBenchClient.c
                        EnumerationClient.c LargeReturningString.c
                        RecurseTypesClient.c SimpleTypeArrayClient.c
                        SimpleTypeInnerUnboundedClient.c
                        SimpleTypeInnerUnboundedInOutputClient.c
                        TradeServicesClient.c
  Log:
  Added the C clients for the tests that I have just added. NOTE: These tests do not have C services yet so I have not added them to any of the batch scripts that make or run the tests.
  
  Submitted by:	hawkeye
  Reviewed by:	Adrian Dick
  
  Revision  Changes    Path
  1.1                  ws-axis/c/tests/auto_build/testcases/client/c/AxisBenchClient.c
  
  Index: AxisBenchClient.c
  ===================================================================
  #include "AxisBench.h"
  #include <time.h>
  int main(int argc, char* argv[])
  { 
  
    BenchDataType *input;
    BenchDataType *output;
    BenchBasicDataType *pTemp;
    time_t tim;
    int i;
    void * pStub;
    
    xsd__unsignedByte* buffer;
  
    
    pStub = get_AxisBench_stub ("http://localhost:9080/AxisBench/services/AxisBenchSoapImpl");
  
    input = Axis_Create_BenchDataType(0,0,0);
  
  	input->count = 100;
  	input->infos.m_Array = Axis_Create_BenchBasicDataType(NULL,1,input->count);
  	input->infos.m_Size = input->count;
  
    tim = 1079010407;
  
    gmtime(&tim);
  
    pTemp = input->infos.m_Array;
  
    buffer = (xsd__unsignedByte*)malloc ( input->count + 2 );
    memset (buffer,0,input->count + 2);
  
  
    for ( i = 0; i < input->count ; i++ ) {
      BenchBasicDataType *type = Axis_Create_BenchBasicDataType(0,0,0);
      type->StringType = strdup("StringType");
      type->IntegerType = i;
      type->DoubleType = 1;/*i/10;*/
      type->BooleanType = true_;
      type->DateTimeType = *gmtime(&tim);
      type->DateType = *gmtime(&tim);
      type->TimeType = *gmtime(&tim);
  
  	  type->IntType = i;
  	  type->ByteType = '1';
    	type->DecimalType = 10;
    	type->FloatType = i/2;
    	type->LongType = i*100;
  	  type->QNameType = strdup("toto");
    	type->ShortType = 1;
  
      type->Base64BinaryType.__size=i;
      type->Base64BinaryType.__ptr=buffer;
      type->HexBinary.__size=i;
      type->HexBinary.__ptr=buffer;
      strcat ( (char *)buffer, "A");
   
      pTemp[i] = *type;
  
    }
  
    output = doBenchRequest(pStub,input);
  
    if ( get_AxisBench_Status(pStub) == AXIS_FAIL ) 
      printf ("Failed\n");
    else {  
    BenchBasicDataType *pTemp;
    pTemp = output->infos.m_Array;
    printf ("Count : %d \n", output->count);
    for ( i = 0; i < output->count ; i++ ) {
      printf (" ----------------------------------------------\n");
      printf (" StringType %s \n", pTemp[i].StringType);
      printf (" IntegerType %d \n", pTemp[i].IntegerType);
      printf (" DoubleType %f \n", pTemp[i].DoubleType);
      printf (" BooleanType %d \n", pTemp[i].BooleanType);
      printf (" DateTimeType %s \n", asctime(&pTemp[i].DateTimeType));
      printf (" DateType %s \n", asctime(&pTemp[i].DateType));
      printf (" TimeType %s \n", asctime(&pTemp[i].TimeType));
      printf (" ByteType %d \n", pTemp[i].ByteType);
      printf (" DecimalType %f \n", pTemp[i].DecimalType);
      printf (" FloatType %f \n", pTemp[i].FloatType);
      printf (" LongType %ld \n", pTemp[i].LongType);
      printf (" QNameType %s \n", pTemp[i].QNameType);
      printf (" ShortType %d \n", pTemp[i].ShortType);
  
      printf (" Base64BinaryType %d \n", output->infos.m_Array[i].Base64BinaryType.__size);
      printf (" Base64BinaryType %s \n", output->infos.m_Array[i].Base64BinaryType.__ptr);
  
      printf (" HexBinaryType %d \n", output->infos.m_Array[i].HexBinary.__size);
      printf (" HexBinaryType %s \n", output->infos.m_Array[i].HexBinary.__ptr);
  
      
    }
    }
    
    Axis_Delete_BenchDataType (input,0,0);
    Axis_Delete_BenchDataType (output,0,0);
    
    return 0;
  }
  
  
  
  1.1                  ws-axis/c/tests/auto_build/testcases/client/c/EnumerationClient.c
  
  Index: EnumerationClient.c
  ===================================================================
  #include "EnumerationWS.h" 
  
  int main(int argc, char* argv[])
  { 
    void * pStub = get_EnumerationWS_stub  ();
  
    Type1 *input = Axis_Create_Type1(0,0,0);
    
    Type1* result;
  
    input->enum_int = ENUMTYPEINT_0;
    input->enum_string = strdup("one");
    input->att_enum_kind = strdup("CHEQUE");
    input->att_enum_string = strdup("one");
    input->att_enum_int = ENUMTYPEINT_1;
  
    result = getInput(pStub,input);
  
    printf ("Result\n");
    if ( result == NULL )
     printf ("NULL\n");
    else {
     printf ("att_enum_int %d\n", result->att_enum_int);
     printf ("att_enum_string %s\n", result->att_enum_string);
     printf ("enum_int %d\n", result->enum_int);
     printf ("enum_string %s\n", result->enum_string);
     printf ("enum_kind %s\n", result->att_enum_kind);
    }
  
    Axis_Delete_Type1(input,0,0);
    Axis_Delete_Type1(result,0,0);
    
    return 0;
  }
  
  
  
  1.1                  ws-axis/c/tests/auto_build/testcases/client/c/LargeReturningString.c
  
  Index: LargeReturningString.c
  ===================================================================
  #include "LargeReturningString.h" 
  
  int main(int argc, char* argv[])
  { 
    void * pStub = get_LargeReturningString_stub  ();
  
    int input = 20000;
    xsd__string result;
  
    result = getLargeReturningString(pStub,input);
  
    printf ("Result\n");
    if ( result == NULL )
     printf ("NULL\n");
    else {
     printf ("%s\n", result);
    }
    
    return 0;
  }
  
  
  
  1.1                  ws-axis/c/tests/auto_build/testcases/client/c/RecurseTypesClient.c
  
  Index: RecurseTypesClient.c
  ===================================================================
  #include "RecurseTypesWS.h" 
  
  int main(int argc, char* argv[])
  { 
  
    Kind inputAtt,*outputAtt;
    Type1 *input,*output,*pTemp;
    void * pStub;
    int i;
  
    pStub = get_RecurseTypesWS_stub();
  
    input = Axis_Create_Type1 (0,0,0);
  
    input->att_kind = Kind_CHEQUE;
    input->kind = strdup("Check In");
    
    input->followings.m_Array = Axis_Create_Type1 (0,1,10);
    input->followings.m_Size = 10;
  
    pTemp = input->followings.m_Array;
    for ( i = 0; i < 10; i++ ) {
      pTemp->kind = strdup("Sample");
      pTemp++;
    }
  
    output = getInput(pStub,input);
  
    printf ("Result\n");
    if ( output == NULL )
     printf ("Invoke failed\n");
    else {
     printf ("\tAtt_kind = %s\n", output->att_kind);
     printf ("\tKind = %s\n", output->kind);
     pTemp = output->followings.m_Array;
     for ( i = 0; i < output->followings.m_Size; i++ ) {
       printf ("\tKind [%d] = %s\n",i, pTemp->kind);
       pTemp++;
     }
    }
  
    /*
    Axis_Delete_Type1 (input,0,0);
    Axis_Delete_Type1 (output,0,0);
    */
    destroy_RecurseTypesWS_stub(pStub);
    return 0;
  }
  
  
  
  1.1                  ws-axis/c/tests/auto_build/testcases/client/c/SimpleTypeArrayClient.c
  
  Index: SimpleTypeArrayClient.c
  ===================================================================
  #include "SimpleTypeArrayWS.h" 
  int main(int argc, char* argv[])
  { 
  
    void *pStub;
    Type *input;
    Type *output;
    xsd__int_Array array_input;
    xsd__int_Array array_output;
    int * entries;
    int i;
  
    entries = malloc ( sizeof (int) );
  
    array_input.m_Array = entries;
    array_input.m_Size  = 100;
  
    for ( i = 0; i < 100; i++ ) {
      entries[i] = i;
    }
  
    input = Axis_Create_Type(0,0,0);
    input->item = array_input;
  
    pStub = 
      get_SimpleTypeArrayWS_stub();
    
    output = getInput(pStub, input);
  
    for ( i = 0; i < 100; i++ ) {
      printf ("item [%d] = %d\n",i,output->item.m_Array[i]);
    }
    
    Axis_Delete_Type(input,0,0);
    Axis_Delete_Type(output,0,0);
  
    destroy_SimpleTypeArrayWS_stub(pStub);
  
  
  }
  
  
  
  
  1.1                  ws-axis/c/tests/auto_build/testcases/client/c/SimpleTypeInnerUnboundedClient.c
  
  Index: SimpleTypeInnerUnboundedClient.c
  ===================================================================
  #include "SimpleTypeInnerUnboundedWS.h" 
  
  int main(int argc, char* argv[])
  { 
    int i;
    void * pStub = get_SimpleTypeInnerUnboundedWS_stub ("http://localhost:9080/SimpleTypeInnerUnbounded/services/sampleWS");
  
    Type1 *input = Axis_Create_Type1(0,0,0);
    Type1_ident idents[10];
    
    Type1* result;
  
    input->enum_int = 1;
    input->enum_string = strdup("one");
    input->att_enum_kind = strdup("CHEQUE");
    input->att_enum_string = strdup("one");
    input->att_enum_int = 1;
  
  
    input->ident.m_Array = idents;
    input->ident.m_Size = 10;
    for ( i = 0; i < 10; i++ ) {
      idents[i] = strdup ("Hello world");
    }
  
  
  
    result = getInput(pStub,input);
  
    printf ("Result\n");
    if ( result == NULL )
     printf ("NULL\n");
    else {
     printf ("att_enum_int %d\n", result->att_enum_int);
     printf ("att_enum_string %s\n", result->att_enum_string);
     printf ("enum_int %d\n", result->enum_int);
     printf ("enum_string %s\n", result->enum_string);
     printf ("enum_kind %s\n", result->att_enum_kind);
    }
  
    //Axis_Delete_Type1(input,0,0);
    //Axis_Delete_Type1(result,0,0);
  
    destroy_SimpleTypeInnerUnboundedWS_stub(pStub);
    
    return 0;
  }
  
  
  
  1.1                  ws-axis/c/tests/auto_build/testcases/client/c/SimpleTypeInnerUnboundedInOutputClient.c
  
  Index: SimpleTypeInnerUnboundedInOutputClient.c
  ===================================================================
  #include "SimpleTypeInnerUnboundedInOutputWS.h" 
  
  int main(int argc, char* argv[])
  { 
    int i;
    int size;
    void * pStub = get_SimpleTypeInnerUnboundedInOutputWS_stub ();
  
    Type1* result;
  
    size = 10;
  
    result = getInput(pStub,size);
  
    if ( result == NULL )
     printf ("NULL\n");
    else {
      Type1_ident* pTemp = result->ident.m_Array;
      for ( i = 0; i < result->ident.m_Size; i++ ) {
        printf ("Result [%d] : %s\n",i,pTemp[i]);
      }
    }
  
    Axis_Delete_Type1(result,0,0);
  
    destroy_SimpleTypeInnerUnboundedInOutputWS_stub(pStub);
    
    return 0;
  }
  
  
  
  1.1                  ws-axis/c/tests/auto_build/testcases/client/c/TradeServicesClient.c
  
  Index: TradeServicesClient.c
  ===================================================================
  /* IBM Confidential OCO Source Material
   * 5639-D57, 5630-A36, 5630-A37, 5724-D18 (C) COPYRIGHT International Business Machines Corp. 1997, 2002
   * The source code for this program is not published or otherwise divested
   * of its trade secrets, irrespective of what has been deposited with the
   * U.S. Copyright Office.
   *
   * Change History:
   * Date     UserId      Defect          Description
   * ----------------------------------------------------------------------------
   *
   */
  #include <stdio.h>
  #include "operations.h"
  
  int main(int argc, char* argv[]){
  	
  	void * proxy;
  	xsd__string userid;
  	long ticket;
  	int i=0;
  	Quote_Array arrayOfQuote;
  	Order_Array arrayOfOrder;
  	Quote quote;
  	Quote *myQuote;
  	Order *order;
  	Order anOrder;
  	xsd__decimal total;
  
    userid = strdup("Durand");
  
  	/* we are changing the EndpointURI here to redirect requests toward the TCP/IP Monitor
  	 * change port if using any TCP/IP traffic monitoring tool.
     */
  	proxy = get_operations_stub("http://127.0.0.1:9080/TradeApplication/services/Service");
  
  	printf("Requesting new ticket for user %s\n",userid);
  	ticket = getTicket(proxy,userid);
  	printf("-> received ticket: %ld\n",ticket);
  
  	printf("Requesting the Quote list\n");
  	arrayOfQuote = getAllQuotes(proxy,userid,ticket);
  	printf("-> received %d Quotes\n",arrayOfQuote.m_Size);
  
  	for(i=0;i<arrayOfQuote.m_Size;i++){
  		quote = arrayOfQuote.m_Array[i];
  		printf("    - %s %s $%f\n",quote.symbol,quote.label,quote.price);
  	}
  
  	printf("Requesting orders to buy some Stocks...\n");
  	printf("Order 1: 10 * q:3\n");
  	order = buyQuote(proxy,userid,ticket,10,arrayOfQuote.m_Array+3);
  	printf("-> transaction ok. id:%d\n",order->reference);
    Axis_Delete_Order (order,0,0);
  
  	printf("Order 2: 7 * q:6\n");
  	order = buyQuote(proxy,userid,ticket,7,arrayOfQuote.m_Array+6);
  	printf("-> transaction ok. id:%d\n",order->reference);
    Axis_Delete_Order (order,0,0);
  
  	/* Another way to do the same call: with a user-created quote structure */
  	printf("Order 3: 3 * q:9\n");
  	myQuote = Axis_Create_Quote(NULL,0,0);
  	order = buyQuote(proxy,userid,ticket,3,arrayOfQuote.m_Array+9);
  	printf("-> transaction ok. id:%d\n",order->reference);
  	Axis_Delete_Quote(myQuote,0,0);
    Axis_Delete_Order (order,0,0);
  
  	printf("Requesting my Orders list\n");
  	arrayOfOrder = getAllOrders(proxy,userid,ticket);
  	printf("-> received %d Orders\n",arrayOfOrder.m_Size);
  
  	for(i=0;i<arrayOfOrder.m_Size;i++){
  		anOrder = arrayOfOrder.m_Array[i];
  		printf("    - %d %s $%f %d\n",anOrder.reference,anOrder.symbol,anOrder.price,anOrder.quantity);
  	}
  
  	printf("Requesting my portfolio value\n");
  	total = computePortfolio(proxy,userid,ticket);
  	printf("-> value = $%f\n",total);
  
    /* Free */
  	Axis_Delete_Quote(arrayOfQuote.m_Array,1,arrayOfQuote.m_Size);
    Axis_Delete_Order (arrayOfOrder.m_Array,1,arrayOfOrder.m_Size);
    free (userid);
    
      printf ("Compilation success\n"); 
  
  	return 0;
  }