summaryrefslogtreecommitdiffstats
path: root/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient
diff options
context:
space:
mode:
authordims <dims@13f79535-47bb-0310-9956-ffa450edef68>2008-06-17 00:23:01 +0000
committerdims <dims@13f79535-47bb-0310-9956-ffa450edef68>2008-06-17 00:23:01 +0000
commitbdd0a41aed7edf21ec2a65cfa17a86af2ef8c48a (patch)
tree38a92061c0793434c4be189f1d70c3458b6bc41d /tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient
Move Tuscany from Incubator to top level.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@668359 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient')
-rw-r--r--tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/Tuscany-model.config24
-rw-r--r--tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/WSAccountClient.cpp179
-rw-r--r--tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/WSAccountClient.dsp109
-rw-r--r--tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/WSAccountClient.plg33
-rw-r--r--tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/axis2_Account_stub.cpp106
-rw-r--r--tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/axis2_Account_stub.h66
-rw-r--r--tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/services.xml30
7 files changed, 547 insertions, 0 deletions
diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/Tuscany-model.config b/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/Tuscany-model.config
new file mode 100644
index 0000000000..41a4ec3ebb
--- /dev/null
+++ b/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/Tuscany-model.config
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+ Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+
+ 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.
+ -->
+
+<tuscany-model xmlns="http://org.apache.tuscany/xmlns/cpp/1.0">
+ <wsdl>
+ <file name="AccountService.wsdl"/>
+ </wsdl>
+ <xsd>
+ </xsd>
+</tuscany-model>
diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/WSAccountClient.cpp b/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/WSAccountClient.cpp
new file mode 100644
index 0000000000..f794dc6112
--- /dev/null
+++ b/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/WSAccountClient.cpp
@@ -0,0 +1,179 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * 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 "axis2_Account_stub.h"
+#include <stdio.h>
+#include <axiom.h>
+#include <axis2_util.h>
+#include <axiom_soap.h>
+#include <axis2_client.h>
+
+axiom_node_t *
+build_om_programatically(const axis2_env_t *env,
+ const axis2_char_t *operation,
+ const axis2_char_t *param1
+ );
+
+int main(int argc, char** argv)
+{
+ axis2_stub_t *stub = NULL;
+ axiom_node_t *node = NULL;
+ axis2_status_t status = AXIS2_FAILURE;
+ const axis2_env_t *env = NULL;
+ const axis2_char_t *address = NULL;
+ const axis2_char_t *client_home = NULL;
+ axiom_node_t *ret_node = NULL;
+
+ const axis2_char_t *operation = "getAccountReport";
+ const axis2_char_t *param1 = "ED";
+
+ env = axis2_env_create_all( "Account_blocking.log", AXIS2_LOG_LEVEL_TRACE);
+
+ client_home = AXIS2_GETENV("AXIS2C_HOME");
+ if (!client_home)
+ client_home = "../../deploy";
+
+ address = "http://localhost:9090/axis2/services/Account";
+ if (argc > 1 )
+ operation = argv[1];
+ if (AXIS2_STRCMP(operation, "-h") == 0)
+ {
+ printf("Usage : %s [operation] [param1] [endpoint_url]\n", argv[0]);
+ printf("use -h for help\n");
+ printf("default operation add\n");
+ printf("default param1 %s\n", param1);
+ printf("default endpoint_url %s\n", address);
+ printf("NOTE: command line arguments must appear in given order, with trailing ones being optional\n");
+ return 0;
+ }
+ if (argc > 2 )
+ param1 = argv[2];
+ if (argc > 3 )
+ address = argv[3];
+
+ printf ("Using endpoint : %s\n", address);
+ printf ("\nInvoking operation %s with param %s \n", operation, param1);
+
+ node = build_om_programatically(env, operation, param1);
+ stub =
+ axis2_Account_stub_create_with_endpoint_uri_and_client_home(env, address, client_home);
+ /* create node and invoke Calculator */
+ ret_node = axis2_Account_stub_getAccountReport(stub, env, node);
+ if(ret_node)
+ {
+ axis2_char_t *om_str = NULL;
+ om_str = AXIOM_NODE_TO_STRING(ret_node, env);
+ if(om_str)
+ {
+ printf("\nOM returned = %s\n", om_str);
+ }
+
+ //if (AXIOM_NODE_GET_NODE_TYPE(ret_node, env) == AXIOM_ELEMENT)
+ //{
+ // axis2_char_t *result = NULL;
+ // axiom_node_t *result_node = (axiom_node_t*)AXIOM_NODE_GET_FIRST_CHILD(ret_node, env);
+ // axiom_element_t *data_ele = (axiom_element_t*)AXIOM_NODE_GET_DATA_ELEMENT(result_node, env);
+
+ // result = AXIOM_ELEMENT_GET_TEXT(data_ele, env, result_node);
+ // printf( "\nResult = %s\n", result);
+ //}
+ //else
+ //{
+ // axiom_xml_writer_t *writer = NULL;
+ // axiom_output_t *om_output = NULL;
+ // axis2_char_t *buffer = NULL;
+ // writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_TRUE, 0,
+ // AXIS2_XML_PARSER_TYPE_BUFFER);
+ // om_output = axiom_output_create (env, writer);
+
+ // AXIOM_NODE_SERIALIZE (ret_node, env, om_output);
+ // buffer = (axis2_char_t*)AXIOM_XML_WRITER_GET_XML(writer, env);
+ // printf ("\nReceived invalid OM as result : %s\n", buffer);
+ // if(NULL != buffer)
+ // {
+ // AXIS2_FREE(env->allocator, buffer);
+ // buffer = NULL;
+ // }
+ // if(NULL != om_output)
+ // {
+ // AXIOM_OUTPUT_FREE(om_output, env);
+ // om_output = NULL;
+ // }
+ //}
+ }
+ else
+ {
+ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:"
+ " %d :: %s", env->error->error_number,
+ AXIS2_ERROR_GET_MESSAGE(env->error));
+ printf("Account stub invoke FAILED!\n");
+ }
+ if (stub)
+ {
+ AXIS2_STUB_FREE(stub, env);
+ }
+ return status;
+}
+
+axiom_node_t *
+build_om_programatically(const axis2_env_t *env,
+ const axis2_char_t *operation,
+ const axis2_char_t *param1
+ )
+{
+ axiom_node_t *Account_om_node = NULL;
+ axiom_element_t* Account_om_ele = NULL;
+ axiom_node_t* text_om_node = NULL;
+ axiom_element_t * text_om_ele = NULL;
+ axiom_node_t* first_om_node = NULL;
+ axiom_element_t * first_om_ele = NULL;
+ axiom_namespace_t *ns1 = NULL;
+
+
+ axiom_xml_writer_t *xml_writer = NULL;
+ axiom_output_t *om_output = NULL;
+ axis2_char_t *buffer = NULL;
+
+ ns1 = axiom_namespace_create (env, "http://www.bigbank.com/AccountService", "ns1");
+
+ Account_om_ele = axiom_element_create(env, NULL, operation, ns1, &Account_om_node);
+
+ first_om_ele = axiom_element_create(env, Account_om_node, "customerID", NULL, &first_om_node);
+
+ text_om_ele = axiom_element_create(env, first_om_node, "customerID", NULL, &text_om_node);
+
+ AXIOM_ELEMENT_SET_TEXT(text_om_ele, env, param1, text_om_node);
+
+ xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_FALSE, AXIS2_FALSE,
+ AXIS2_XML_PARSER_TYPE_BUFFER);
+ om_output = axiom_output_create( env, xml_writer);
+
+ AXIOM_NODE_SERIALIZE(Account_om_node, env, om_output);
+ buffer = (axis2_char_t*)AXIOM_XML_WRITER_GET_XML(xml_writer, env);
+ AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "\nSending OM node in XML : %s \n", buffer);
+ if(NULL != buffer)
+ {
+ AXIS2_FREE(env->allocator, buffer);
+ buffer = NULL;
+ }
+ if(NULL != om_output)
+ {
+ AXIOM_OUTPUT_FREE(om_output, env);
+ om_output = NULL;
+ }
+
+ return Account_om_node;
+}
diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/WSAccountClient.dsp b/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/WSAccountClient.dsp
new file mode 100644
index 0000000000..db382db6ff
--- /dev/null
+++ b/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/WSAccountClient.dsp
@@ -0,0 +1,109 @@
+# Microsoft Developer Studio Project File - Name="WSAccountClient" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=WSAccountClient - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "WSAccountClient.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "WSAccountClient.mak" CFG="WSAccountClient - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "WSAccountClient - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "WSAccountClient - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "WSAccountClient - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "WSAccountClient - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "$(TUSCANY_SDOCPP)/include" /I "$(AXIS2C_HOME)/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib tuscany_sca.lib tuscany_sdo.lib axis2_engine.lib axis2_parser.lib axis2_util.lib axiom.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"$(TUSCANY_SCACPP)\lib" /libpath:"$(TUSCANY_SDOCPP)\lib" /libpath:"$(AXIS2C_HOME)\lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "WSAccountClient - Win32 Release"
+# Name "WSAccountClient - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\axis2_Account_stub.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\WSAccountClient.cpp
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\axis2_Account_stub.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/WSAccountClient.plg b/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/WSAccountClient.plg
new file mode 100644
index 0000000000..5200a14ce6
--- /dev/null
+++ b/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/WSAccountClient.plg
@@ -0,0 +1,33 @@
+<html>
+<body>
+<pre>
+<h1>Build Log</h1>
+<h3>
+--------------------Configuration: WSAccountClient - Win32 Debug--------------------
+</h3>
+<h3>Command Lines</h3>
+Creating temporary file "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP3FB.tmp" with contents
+[
+/nologo /MLd /W3 /Gm /GX /ZI /Od /I "c:\apache\apache_checkout\cpp\sdo\deploy/include" /I "c:\axis\axis2c_92\axis2c-bin-0.92-win32/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Debug/WSAccountClient.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c
+"C:\apache\apache_checkout\cpp\sca\samples\BigBank\WSAccountClient\WSAccountClient.cpp"
+]
+Creating command line "cl.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP3FB.tmp"
+Creating temporary file "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP3FC.tmp" with contents
+[
+kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib tuscany_sca.lib tuscany_sdo.lib axis2_engine.lib axis2_parser.lib axis2_util.lib axiom.lib /nologo /subsystem:console /incremental:yes /pdb:"Debug/WSAccountClient.pdb" /debug /machine:I386 /out:"Debug/WSAccountClient.exe" /pdbtype:sept /libpath:"c:\apache\apache_checkout\cpp\sca\deploy\lib" /libpath:"c:\apache\apache_checkout\cpp\sdo\deploy\lib" /libpath:"c:\axis\axis2c_92\axis2c-bin-0.92-win32\lib"
+.\Debug\axis2_Account_stub.obj
+.\Debug\WSAccountClient.obj
+]
+Creating command line "link.exe @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\RSP3FC.tmp"
+<h3>Output Window</h3>
+Compiling...
+WSAccountClient.cpp
+Linking...
+
+
+
+<h3>Results</h3>
+WSAccountClient.exe - 0 error(s), 0 warning(s)
+</pre>
+</body>
+</html>
diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/axis2_Account_stub.cpp b/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/axis2_Account_stub.cpp
new file mode 100644
index 0000000000..d9198b29ec
--- /dev/null
+++ b/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/axis2_Account_stub.cpp
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * 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 "axis2_Account_stub.h"
+
+
+axis2_stub_t *
+axis2_Account_stub_create_with_endpoint_ref_and_client_home(const axis2_env_t *env,
+ axis2_endpoint_ref_t *endpoint_ref,
+ axis2_char_t *client_home)
+{
+ axis2_stub_t *stub = NULL;
+
+ AXIS2_ENV_CHECK(env, NULL);
+
+ stub = (axis2_stub_t *)
+ axis2_stub_create_with_endpoint_ref_and_client_home(env, endpoint_ref,
+ client_home);
+ if(NULL == stub)
+ {
+ AXIS2_ERROR_SET(env->error,
+ AXIS2_ERROR_NO_MEMORY, (axis2_status_codes)AXIS2_FAILURE);
+ return NULL;
+ }
+ axis2_populate_axis_service( stub, env);
+ return stub;
+}
+
+void axis2_populate_axis_service( axis2_stub_t* stub, const axis2_env_t *env)
+{
+ axis2_svc_client_t* svc_client = NULL;
+ axis2_qname_t *op_qname = NULL;
+ axis2_svc_t* svc = NULL;
+ axis2_op_t* op = NULL;
+
+ /*Modifying the Service*/
+ svc_client = AXIS2_STUB_GET_SVC_CLIENT (stub, env );
+ svc = (axis2_svc_t*)AXIS2_SVC_CLIENT_GET_AXIS_SERVICE ( svc_client, env );
+
+ /*creating the operations*/
+
+ op_qname = axis2_qname_create(env,"getAccountReport" , "", NULL);
+ op = axis2_op_create_with_qname(env, op_qname);
+ AXIS2_OP_SET_MSG_EXCHANGE_PATTERN(op, env, AXIS2_MEP_URI_OUT_IN);
+ AXIS2_SVC_ADD_OP(svc, env, op);
+
+ }
+
+axis2_stub_t *
+axis2_Account_stub_create_with_endpoint_uri_and_client_home(const axis2_env_t *env,
+ const axis2_char_t *endpoint_uri,
+ const axis2_char_t *client_home)
+{
+ axis2_stub_t *stub = NULL;
+
+ AXIS2_ENV_CHECK(env, NULL);
+
+ stub = (axis2_stub_t *)
+ axis2_stub_create_with_endpoint_uri_and_client_home(env, endpoint_uri,
+ client_home);
+ if(NULL == stub)
+ {
+ AXIS2_ERROR_SET(env->error,
+ AXIS2_ERROR_NO_MEMORY, (axis2_status_codes)AXIS2_FAILURE);
+ return NULL;
+ }
+
+ axis2_populate_axis_service( stub, env);
+
+ return stub;
+}
+
+/***************************Function implementation****************************/
+
+axiom_node_t *
+axis2_Account_stub_getAccountReport(axis2_stub_t *stub,
+ const axis2_env_t *env,
+ axiom_node_t *node)
+{
+ axis2_svc_client_t *svc_client = NULL;
+ axiom_node_t *ret_node = NULL;
+ axis2_qname_t *op_qname = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+
+ svc_client = AXIS2_STUB_GET_SVC_CLIENT(stub, env);
+ op_qname = axis2_qname_create(env, "getAccountReport" , "", NULL);
+ ret_node = AXIS2_SVC_CLIENT_SEND_RECEIVE_WITH_OP_QNAME( svc_client, env, op_qname, node);
+
+ return ret_node;
+}
+
+
diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/axis2_Account_stub.h b/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/axis2_Account_stub.h
new file mode 100644
index 0000000000..53f07263b8
--- /dev/null
+++ b/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/axis2_Account_stub.h
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * 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.
+ */
+
+#ifndef AXIS2_ECHO_STUB_H
+#define AXIS2_ECHO_STUB_H
+
+/**
+ * @file axis2_Calculator_stub.h
+ * @brief axis2 Calculator stub interface
+ */
+
+#include <axis2_stub.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+axiom_node_t *
+axis2_Account_stub_getAccountReport(axis2_stub_t *stub,
+ const axis2_env_t *env,
+ axiom_node_t *node);
+
+/**
+ * populate services
+ */
+void axis2_populate_axis_service( axis2_stub_t* stub, const axis2_env_t *env);
+
+/**
+ * Creates axis2_stub struct
+ * @param endpoint reference
+ * @return pointer to newly created axis2_stub struct
+ */
+axis2_stub_t *
+axis2_Account_stub_create_with_endpoint_ref_and_client_home(const axis2_env_t *env,
+ axis2_endpoint_ref_t *endpoint_ref,
+ axis2_char_t *client_home);
+
+/**
+ * Creates axis2_stub struct
+ * @param endpoint uri
+ * @return pointer to newly created axis2_stub struct
+ */
+axis2_stub_t *
+axis2_Account_stub_create_with_endpoint_uri_and_client_home(const axis2_env_t *env,
+ const axis2_char_t *endpoint_uri,
+ const axis2_char_t *client_home);
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* AXIS2_ECHO_STUB_H */
diff --git a/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/services.xml b/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/services.xml
new file mode 100644
index 0000000000..bb57c6edb6
--- /dev/null
+++ b/tags/cpp-0.1.incubating-M1-RC3/sca/samples/BigBank/WSAccountClient/services.xml
@@ -0,0 +1,30 @@
+
+<!--
+ Copyright 2006 The Apache Software Foundation or its licensors, as applicable.
+
+ 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.
+ -->
+<service name="BigBank">
+ <parameter name="ServiceClass" locked="xsd:false">tuscany_sca_ws_service</parameter>
+ <parameter name="TuscanySystemRoot" locked="xsd:false">c:/apache/apache_checkout/cpp/sca/samples/BigBank/deploy</parameter>
+ <parameter name="TuscanyEntryPoint" locked="xsd:false">AccountSubsystem/Account/WSAccountEntrypoint</parameter>
+
+ <description>
+ This is a testing service, named 'BigBank' to test multiple operations in the same service
+ </description>
+
+ <operation name="getAccountReport">
+ <!--messageReceiver class="axis2_receivers" /-->
+ </operation>
+
+</service>