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/16 07:43:35 UTC
svn commit: r357136 -
/webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/getBusinessDetailExt_v2Test1Client.cpp
Author: jamejose
Date: Thu Dec 15 22:43:21 2005
New Revision: 357136
URL: http://svn.apache.org/viewcvs?rev=357136&view=rev
Log:
Adding test for get_businessDetailExt API in UDDI
Added:
webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/getBusinessDetailExt_v2Test1Client.cpp
Added: webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/getBusinessDetailExt_v2Test1Client.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/getBusinessDetailExt_v2Test1Client.cpp?rev=357136&view=auto
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/getBusinessDetailExt_v2Test1Client.cpp (added)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/getBusinessDetailExt_v2Test1Client.cpp Thu Dec 15 22:43:21 2005
@@ -0,0 +1,366 @@
+/*
+ * 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 software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ * @author James Jose
+ */
+
+#include <string>
+#include <iostream>
+#include <stdlib.h>
+#include <axis/AxisException.hpp>
+using namespace std;
+
+#include "Inquire.hpp"
+
+#define ARRAYSIZE 1
+
+char endpoint[256];
+
+int
+main(int argc, char *argv[])
+{
+ if( argc < 2 )
+ {
+ printf( "Usage: %s [endpoint] ", argv[0]);
+ exit(0);
+ }
+
+ sprintf(endpoint, argv[1]);
+ char* cpname = "2.0";
+ int outputSize=0;
+ Inquire *ws = new Inquire(endpoint);
+ //ws->setProxy("localhost", 9090);
+
+ bool bSuccess = false;
+ int iRetryIterationCount = 3;
+
+ do
+ {
+ try
+ {
+ char buffer[100];
+ // Storing business Key to Buffer
+ sprintf(buffer, "aea80cae-6cde-4eac-9feb-19ac9719ebb9");
+
+ /* Case1 :
+ In this we pass one business key and get back one business Entity and then displays the details*/
+ businessKey_Array arrBusinessKeys;
+ businessKey * arrayBusiness = new businessKey[ARRAYSIZE];
+ int i;
+ for (i = 0; i < ARRAYSIZE; i++)
+ {
+ arrayBusiness[i] = new char[100];
+ strcpy(arrayBusiness[i],buffer);
+ }
+ arrBusinessKeys.set(arrayBusiness,ARRAYSIZE);
+ cout << "invoking get_businessDetailExt ...\n";
+ businessEntityExt_Array* businessEntityExtArr = ws->get_businessDetailExt(&arrBusinessKeys, cpname);
+ outputSize = 0;
+ businessEntityExt ** busEntityExt = businessEntityExtArr->get(outputSize);
+ cout << "businessEntityExt_Array size = " << outputSize << endl;
+ for( i = 0; i < outputSize; i++ )
+ {
+ cout << "Business EntityExt " << i + 1 << endl;
+ if(busEntityExt[i]->any1){
+ cout <<"\tAny Size = " << busEntityExt[i]->any1->_size << endl;
+ for (int s=0;s<busEntityExt[i]->any1->_size;s++)
+ cout <<"\tAny Value = " << s+1 << busEntityExt[i]->any1->_array[s]<<endl;
+ }
+ businessEntity *busEntity=busEntityExt[i]->businessEntity_Ref;
+ cout << "\t Business Key Ref = " << busEntity->businessKey_Ref<<endl;
+ //printf("\t Operator = %s\n", arrayOutB[i]->_operator);
+ cout << "\t Authorized Name = " << busEntity->authorizedName << endl;
+ cout << "\t Names... \n" ;
+ int outputSizeName = 0;
+
+ //Display name of the business Entity
+
+ name** arrayName = busEntity->name_Ref->get(outputSizeName);
+ for( int j = 0; j < outputSizeName; j++)
+ {
+ cout << "\t\t Name " << j + 1 << " = " << arrayName[j]->name_value <<endl;
+ }
+
+ //Display Description
+ int outputSizeDesc=0;
+ description ** arrayDesc = busEntity->description_Ref->get(outputSizeDesc);
+ cout << "\t Description ... " << endl;
+ for( int j = 0; j < outputSizeDesc; j++)
+ {
+ cout << "\t\t Description " << j+1 << " = " << arrayDesc[j]->description_value<< endl;
+ }
+
+ //Display Contact Details
+ int outputSizeContact=0;
+ contact **arrayContact=busEntity->contacts_Ref->contact_Ref->get(outputSizeContact);
+ cout << "\t Contact Information ... " << endl;
+ for( int j = 0; j < outputSizeContact; j++)
+ {
+ cout << "\t\tContact information " << j+1 << endl;
+ cout << "\t\t\t Person Name " << j+1 << " = " << arrayContact[j]->personName << endl;
+ cout << "\t\t\t Use Type " << j+1 << " = " <<arrayContact[j]->useType << endl;
+ int descSize = 0;
+ description ** arrayCDesc= arrayContact[j]->description_Ref->get(descSize);
+ for(int k=0;k<descSize;k++){
+ cout << "\t\t\t Description = " << arrayCDesc[k]->description_value << endl;
+ }
+ int phoneSize=0;
+ phone ** phoneArray = arrayContact[j]->phone_Ref->get(phoneSize);
+ for(int k=0;k<phoneSize;k++){
+ cout << "\t\t\t Phone useType = " <<phoneArray[k]->useType << endl;
+ cout << "\t\t\t Phone Value = " << phoneArray[k]->phone_value<< endl;
+ }
+ int emailSize =0 ;
+ email ** emailArray = arrayContact[j]->email_Ref->get(emailSize);
+ for(int k=0;k<emailSize;k++){
+ cout << "\t\t\t email useType = " << emailArray[k]->useType << endl;
+ cout << "\t\t\t email Value = " <<emailArray[k]->email_value << endl;
+ }
+
+ int addressSize = 0;
+ address ** addressArray = arrayContact[j]->address_Ref->get(addressSize);
+ for(int k=0;k<addressSize;k++){
+ cout << "\t\t\t Address useType = " << addressArray[k]->useType << endl;
+ cout << "\t\t\t Address Value = " << addressArray[k]->sortCode << endl;
+ int addressLineSize = 0;
+ addressLine ** addLineArray = addressArray[k]->addressLine_Ref->get(addressLineSize);
+ for(int l=0;l<addressLineSize;l++){
+ cout << "\t\t\t AddressLine keyName = " << addLineArray[l]->keyName << endl;
+ cout << "\t\t\t AddressLine keyValue = " << addLineArray[l]->keyValue << endl;
+ cout << "\t\t\t AddressLine keyValue = " << addLineArray[l]->addressLine_value << endl;
+ }
+ }
+ }
+
+ if( busEntity->businessServices_Ref )
+ {
+ cout << "\t Business Services...\n" ;
+ int outputSizeBS = 0;
+ businessService ** arrayOutBS = busEntity->businessServices_Ref->businessService_Ref->get(outputSizeBS);
+ for( int j = 0; j < outputSizeBS; j++ )
+ {
+ cout << "\t\t Business Service " << j + 1 << endl;
+ cout << "\t\t\t service key referance = " << arrayOutBS[j]->serviceKey_Ref << endl;
+ cout << "\t\t\t business key referance = " << arrayOutBS[j]->serviceKey_Ref << endl;
+ if( arrayOutBS[j]->bindingTemplates_Ref )
+ {
+ cout << "\t\t\t Binding Templates...\n" ;
+ int outputSizeBT=0;
+ bindingTemplate ** arrayOutBT = arrayOutBS[j]->bindingTemplates_Ref->bindingTemplate_Ref->get(outputSizeBT);
+ for( int k = 0; k < outputSizeBT; k++ )
+ {
+ cout << "\t\t\t\t Access Point " << k + 1 << endl;
+ if( arrayOutBT[k]->accessPoint_Ref )
+ {
+ cout << "\t\t\t\t\t Point = " << arrayOutBT[k]->accessPoint_Ref->accessPoint_value << endl;
+ cout << "\t\t\t\t\t URL Type = " << arrayOutBT[k]->accessPoint_Ref->URLType_Ref << endl;
+ }
+ }
+ }
+ }
+ }
+
+ if(busEntity->categoryBag_Ref){
+ int KRArraySize = 0;
+ keyedReference ** KRArray = busEntity->categoryBag_Ref->keyedReference_Ref->get(KRArraySize);
+ cout << "\t\t\t Category Bag Array Size .. " << KRArraySize << endl;
+ for(int k=0;k<KRArraySize;k++){
+ cout << "\t\t\t Category Bag" << k+1 << endl;
+ cout << "\t\t\t\ttModelKey_Ref = " << KRArray[k]->tModelKey_Ref << endl;
+ cout << "\t\t\t\ttKeyName = " <<KRArray[k]->keyName << endl;
+ cout << "\t\t\t\ttKeyValue = " << KRArray[k]->keyValue << endl;
+ }
+ }
+ //printf("overviewURL = %s\n", result.m_Array[i].overviewDoc_Ref->overviewURL);
+ }
+
+
+ /* Case2:
+ In this we pass 2 businessKeys and get back two business Entities */
+
+ //businessKey_Array arrBusinessKeys1;
+ arrayBusiness = new businessKey[2];
+ for (i = 0; i < 2; i++)
+ {
+ arrayBusiness[i] = new char[100];
+ }
+ strcpy(arrayBusiness[0],buffer);
+ strcpy(arrayBusiness[1],"05e39405-6216-46bd-8f4c-dad67cda4c72");
+ arrBusinessKeys.set(arrayBusiness,2);
+ cout << "\n\ninvoking get_businessDetailExt ...\n";
+ //printf("businessEntity_Array size = %d\n", ws->get_businessDetail(arrBusinessKeys, cpname).m_Size);
+ //Inquire *ws1 = new Inquire(endpoint);
+ businessEntityExtArr = ws->get_businessDetailExt(&arrBusinessKeys, cpname);
+ outputSize = 0;
+ busEntityExt = businessEntityExtArr->get(outputSize);
+ //businessEntity_Array get_businessDetail(businessKey_Array Value0,xsd__string Value1);
+ cout << "businessEntityExt_Array size = " << outputSize << endl;
+ for( i = 0; i < outputSize; i++ )
+ {
+ cout << "Business Entity Ext " << i + 1 <<endl;
+ if(busEntityExt[i]->any1){
+ cout <<"\tAny Size = " << busEntityExt[i]->any1->_size << endl;
+ for (int s=0;s<busEntityExt[i]->any1->_size;s++)
+ cout <<"\tAny Value = " << s+1 << busEntityExt[i]->any1->_array[s]<<endl;
+ }
+ businessEntity *busEntity=busEntityExt[i]->businessEntity_Ref;
+ cout << "\t Business Key Ref = " << busEntity->businessKey_Ref << endl;
+ //cout << "\t Operator = " << arrayOutB1[i]->_operator << endl;
+ cout << "\t Authorized Name = " << busEntity->authorizedName << endl;
+ cout << "\t Names... \n";
+ int outputSizeBE = 0;
+ name** arrayBE = busEntity->name_Ref->get(outputSizeBE);
+ for( int j = 0; j < outputSizeBE; j++)
+ {
+ cout << "\t\t Name " << j + 1 << " = " << arrayBE[j]->name_value << endl;
+ }
+ if( busEntity->businessServices_Ref )
+ {
+ cout << "\t Business Services...\n" ;
+ int outputSizeBS = 0;
+ businessService ** arrayOutBS = busEntity->businessServices_Ref->businessService_Ref->get(outputSizeBS);
+ for( int j = 0; j < outputSizeBS; j++ )
+ {
+ cout << "\t\t Business Service " << j + 1 << endl;
+ cout << "\t\t\t service key referance = " << arrayOutBS[j]->serviceKey_Ref << endl;
+ cout << "\t\t\t business key referance = " << arrayOutBS[j]->serviceKey_Ref << endl;
+ if( arrayOutBS[j]->bindingTemplates_Ref )
+ {
+ cout << "\t\t\t Binding Templates...\n" ;
+ int outputSizeBT=0;
+ bindingTemplate ** arrayOutBT = arrayOutBS[j]->bindingTemplates_Ref->bindingTemplate_Ref->get(outputSizeBT);
+ for( int k = 0; k < outputSizeBT; k++ )
+ {
+ cout << "\t\t\t\t Access Point " << k + 1;
+ if( arrayOutBT[k]->accessPoint_Ref )
+ {
+ cout << "\t\t\t\t\t Point = " << arrayOutBT[k]->accessPoint_Ref->accessPoint_value << endl;
+ cout << "\t\t\t\t\t URL Type = " << arrayOutBT[k]->accessPoint_Ref->URLType_Ref << endl;
+ }
+ }
+ }
+ }
+ }
+ //printf("overviewURL = %s\n", result.m_Array[i].overviewDoc_Ref->overviewURL);
+ }
+
+ /* Case 3:
+ In this we pass a non existing Business Key */
+
+
+ arrayBusiness = new businessKey[1];
+ for (i = 0; i < 1; i++)
+ {
+ arrayBusiness[i] = new char[100];
+ strcpy(arrayBusiness[0],"05e39405-6216-46bd-8f4c-dad67cda4c15");
+ }
+ arrBusinessKeys.set(arrayBusiness,1);
+ //printf("businessEntity_Array size = %d\n", ws->get_businessDetail(arrBusinessKeys, cpname).m_Size);
+ //Inquire *ws2 = new Inquire(endpoint);
+ cout << "\n\ninvoking get_businessDetailExt ...\n";
+ businessEntityExtArr = ws->get_businessDetailExt(&arrBusinessKeys, cpname);
+ outputSize = 0;
+ busEntityExt = businessEntityExtArr->get(outputSize);
+ //businessEntity_Array get_businessDetail(businessKey_Array Value0,xsd__string Value1);
+ cout << "businessEntity_Array size = " << outputSize << endl;
+ for( i = 0; i < outputSize; i++ )
+ {
+ cout << "Business Entity Ext " << i + 1 <<endl;
+ if(busEntityExt[i]->any1){
+ cout <<"\tAny Size = " << busEntityExt[i]->any1->_size << endl;
+ for (int s=0;s<busEntityExt[i]->any1->_size;s++)
+ cout <<"\tAny Value = " << s+1 << busEntityExt[i]->any1->_array[s]<<endl;
+ }
+ businessEntity *busEntity=busEntityExt[i]->businessEntity_Ref;
+ cout << "\t Business Key Ref = " << busEntity->businessKey_Ref << endl;
+ cout << "\t Authorized Name = " << busEntity->authorizedName;
+ cout << "\t Names... \n";
+ int outputSizeBE = 0;
+ name** arrayBE = busEntity->name_Ref->get(outputSizeBE);
+ for( int j = 0; j < outputSizeBE; j++)
+ {
+ cout << "\t\t Description " << j + 1 << " = " << arrayBE[j]->name_value;
+ }
+ if( busEntity->businessServices_Ref )
+ {
+ cout << "\t Business Services...\n" ;
+ int outputSizeBS = 0;
+ businessService ** arrayOutBS = busEntity->businessServices_Ref->businessService_Ref->get(outputSizeBS);
+ for( int j = 0; j < outputSizeBS; j++ )
+ {
+ cout << "\t\t Business Service " << j + 1 << endl;
+ cout << "\t\t\t service key referance = "<< arrayOutBS[j]->serviceKey_Ref << endl;
+ cout << "\t\t\t business key referance = " << arrayOutBS[j]->serviceKey_Ref << endl;
+ if( arrayOutBS[j]->bindingTemplates_Ref )
+ {
+ cout << "\t\t\t Binding Templates...\n" ;
+ int outputSizeBT=0;
+ bindingTemplate ** arrayOutBT = arrayOutBS[j]->bindingTemplates_Ref->bindingTemplate_Ref->get(outputSizeBT);
+ for( int k = 0; k < outputSizeBT; k++ )
+ {
+ cout << "\t\t\t\t Access Point " << k + 1 << endl;
+ if( arrayOutBT[k]->accessPoint_Ref )
+ {
+ cout << "\t\t\t\t\t Point = " << arrayOutBT[k]->accessPoint_Ref->accessPoint_value << endl;
+ cout << "\t\t\t\t\t URL Type = " << arrayOutBT[k]->accessPoint_Ref->URLType_Ref << endl;
+ }
+ }
+ }
+ }
+ }
+ //printf("overviewURL = %s\n", result.m_Array[i].overviewDoc_Ref->overviewURL);
+ }
+ bSuccess = true;
+ /*name* val1 = new name();
+ val1->name_value = "TEST";
+ tModelInfos* tModels = ws->find_tModel(NULL, val1, NULL, NULL, "2.0",5);
+
+ printf("tModel info size = %d\n", tModels->tModelInfo_Ref.m_Size);
+ */
+ }
+ catch(AxisException& e)
+ {
+ bool bSilent = false;
+
+ if( e.getExceptionCode() == CLIENT_TRANSPORT_OPEN_CONNECTION_FAILED)
+ {
+ if( iRetryIterationCount > 0)
+ {
+ bSilent = true;
+ }
+ }
+ else
+ {
+ iRetryIterationCount = 0;
+ }
+
+ if( !bSilent)
+ {
+ printf("Exception caught : %s\n", e.what());
+ }
+ }
+ iRetryIterationCount--;
+ } while( iRetryIterationCount > 0 && !bSuccess);
+
+ return 0;
+}