summaryrefslogtreecommitdiffstats
path: root/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank
diff options
context:
space:
mode:
Diffstat (limited to 'sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank')
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/Makefile.am21
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/README21
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/README.html312
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/AccountDataServiceImpl.rb72
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/AccountService.wsdl126
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/AccountServiceImpl.rb82
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/Makefile.am24
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/StockQuoteServiceImpl.rb52
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/StockQuoteTypes.xsd40
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/StockQuoteWebService.wsdl165
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/bigbank.account.composite53
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/runwsserver.bat51
-rwxr-xr-xsca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/runwsserver.sh46
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.app.composite33
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.client/AccountClient.rb40
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.client/Makefile.am23
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.client/runclient.bat51
-rwxr-xr-xsca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.client/runclient.sh48
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/AccountService.wsdl126
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/AccountWSClient.rb40
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/Makefile.am23
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/bigbank.wsclient.composite29
-rw-r--r--sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/runwsclient.bat51
-rwxr-xr-xsca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/runwsclient.sh48
24 files changed, 1577 insertions, 0 deletions
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/Makefile.am b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/Makefile.am
new file mode 100644
index 0000000000..ae0b4958f1
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/Makefile.am
@@ -0,0 +1,21 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+
+deploydir=$(prefix)/RubyBigBank/deploy
+SUBDIRS = bigbank.account bigbank.client bigbank.wsclient
+EXTRA_DIST = *.composite README.html
+deploy_DATA = *.composite
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/README b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/README
new file mode 100644
index 0000000000..6b2dba4206
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/README
@@ -0,0 +1,21 @@
+Tuscany SCA for C++ Samples - Ruby BigBank Sample
+===============================================
+
+This sample implements the "Simplified BigBank" scenario. A whitepaper
+describing the scenario based on the SCA 0.9 Assembly specification can be
+found here. This sample uses multiple Ruby components, calls out to an
+external Web Service via a reference, exposes the service as a Web Service
+and also provides a PHP based client.
+
+There are two sub projects in this workspace:
+ - bigbank.account
+ This contains the source code and SCDL artifacts for the SCA BigBank
+ composite implementing the account services.
+
+ - bigbank.client
+ A sample client which does a local call to the BigBank service.
+
+Additionally, there is the bigbank.app.composite file. This describes the
+configuration of the SCA BigBank composite deployed to the SCA runtime.
+
+See the README.html file for instructions to build and run this sample
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/README.html b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/README.html
new file mode 100644
index 0000000000..6eeb377d6f
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/README.html
@@ -0,0 +1,312 @@
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+
+<HTML>
+<HEAD>
+ <META CONTENT="text/html; charset=iso-8859-1" HTTP-EQUIV="Content-Type">
+ <META CONTENT="text/css" HTTP-EQUIV="Content-Style-Type">
+ <STYLE MEDIA="all" TYPE="text/css">
+@import url("../../doc/css/maven-base.css");
+@import url("../../doc/css/maven-theme.css");
+ </STYLE>
+
+ <LINK HREF="../doc/css/maven-theme.css" MEDIA="print" REL="stylesheet"
+ TYPE="text/css">
+ <TITLE>Tuscany SCA Native Samples - Ruby BigBank Sample</TITLE>
+</HEAD>
+
+<BODY>
+<DIV ID="bodyColumn">
+ <DIV ID="contentBox">
+ <DIV CLASS="section">
+ <H1>Tuscany SCA Native Samples - Ruby BigBank Sample</H1>
+
+ <P>This sample implements the "Simplified BigBank" scenario. A whitepaper describing
+ the scenario based on the SCA 0.9 Assembly specification can be found
+ <A HREF="http://www.osoa.org/display/Main/SCA+-+Previously+Published+Specifications">here</A>.
+ This sample uses multiple Ruby components, calls out to an external Web Service via a reference
+ and exposes the service as a Web Service.
+ </P>
+ <P>The Ruby BigBank sample requires the following extensions:
+ <UL>
+ <LI><A HREF="../../doc/RubyExtension.html">Ruby Extension</A></LI>
+ <LI><A HREF="../../doc/Axis2CWSExtension.html">Axis2/C Web Services Extension</A></LI>
+ </UL>
+ Please follow the documentation to ensure you have these extensions built and installed
+ on your system
+ </P>
+ <P>There are three sub projects in this workspace:</P>
+ <UL>
+ <LI>bigbank.account<BR/>
+ This contains the source code and SCDL artifacts for the SCA Ruby BigBank
+ composite implementing the account services.
+ </LI>
+ <LI>bigbank.client<BR/>
+ A sample client which does a local call to the BigBank service.
+ </LI>
+ <LI>bigbank.wsclient<BR/>
+ A sample client which uses an SCA Web Service reference to make a remote
+ call to the BigBank service.
+ </LI>
+ </UL>
+ <P>Additionally, there is the bigbank.app.composite file. This
+ describes the configuration of the SCA BigBank composite deployed to the SCA
+ runtime.
+ </P>
+ </DIV>
+
+ <DIV CLASS="section">
+ <H2>Contents</H2>
+ <OL>
+ <LI><A HREF="#linuxbld">Building the Ruby BigBank sample on Linux and Mac OS X</A></LI>
+ <LI><A HREF="#linuxrun">Running the Ruby BigBank sample on Linux and Mac OS X:</A></LI>
+ <UL>
+ <LI><A HREF="#linuxbasic">Running the basic client</A></LI>
+ <LI><A HREF="#linuxws">Running with Web Service clients</A></LI>
+ </UL>
+ <LI><A HREF="#winbld">Building the Ruby BigBank sample on Windows</A></LI>
+ <LI><A HREF="#winrun">Running the Ruby BigBank sample on Windows:</A></LI>
+ <UL>
+ <LI><A HREF="#winbasic">Running the basic client</A></LI>
+ <LI><A HREF="#winws">Running with Web Service clients</A></LI>
+ </UL>
+ <LI><A HREF="#help">Getting help</A></LI>
+ </OL>
+ </DIV>
+
+
+ <DIV CLASS="section">
+ <A NAME="linuxbld"><H2>Building the Ruby BigBank sample on Linux and Mac OS X</H2></A>
+ <P>If using the binary distribution the samples are built and installed in
+ &lt;tuscany_sca_install_dir&gt;/samples - go directly to <A HREF="#linuxrun">Running the samples on Linux and Mac OS X</A>.</P>
+ <OL>
+ <LI>The following environment variables are required:
+ <UL>
+ <LI>TUSCANY_SCACPP=&lt;path to installed Tuscany SCA&gt;
+ <LI>TUSCANY_SDOCPP=&lt;path to installed Tuscany SDO&gt;
+ </UL></LI>
+ </LI>
+ <LI>As the Ruby BigBank sample is based on Ruby scripts, a specific compilation step is not necessary -
+ only deployment is required. Deploy the Ruby samples only with the following command sequence:
+ <UL>
+ <LI>cd &lt;tuscany_sca_install_dir&gt;/samples</LI>
+ <LI>./configure --enable-ruby --enable-cpp=no --prefix=$TUSCANY_SCACPP/samples</LI>
+ <LI>make install</LI>
+ </UL>
+ NOTE: If you don't provide the --prefix configure option, it will by default install into
+ /usr/local/tuscany/sca/samples/RubyBigBank
+ </LI>
+ </OL>
+ </DIV>
+
+ <DIV CLASS="section">
+ <A NAME="linuxrun"><H2>Running the Ruby BigBank sample on Linux and Mac OS X</H2></A>
+ <A NAME="linuxbasic"><H3>BigBank with basic client</H3></A>
+ <OL>
+ <LI>The Ruby BigBank sample requires the following extensions:
+ <UL>
+ <LI><A HREF="../../doc/RubyExtension.html">Ruby Extension</A></LI>
+ <LI><A HREF="../../doc/Axis2CWSExtension.html">Axis2/C Web Services Extension</A></LI>
+ </UL>
+ Please follow the documentation to ensure you have these extensions built and installed
+ on your system
+ </LI>
+ <LI>The following environment variables are required:
+ <UL>
+ <LI>TUSCANY_SCACPP=&lt;path to installed Tuscany SCA&gt;</LI>
+ <LI>TUSCANY_SDOCPP=&lt;path to installed Tuscany SDO&gt;</LI>
+ </UL>
+ </LI>
+ <LI>Run the sample with the following commands:
+ <UL>
+ <LI>cd &lt;tuscany_sca_install_dir&gt;/samples/RubyBigBank/deploy/bigbank.client</LI>
+ <LI>./runclient.sh</LI>
+ </UL>
+ </LI>
+ </OL>
+ <A NAME="linuxws"><H3>BigBank with Web Service clients</H3></A>
+ <OL>
+ <LI>The Ruby BigBank sample requires the following extensions:
+ <UL>
+ <LI><A HREF="../../doc/RubyExtension.html">Ruby Extension</A></LI>
+ <LI><A HREF="../../doc/Axis2CWSExtension.html">Axis2/C Web Services Extension</A></LI>
+ </UL>
+ Please follow the documentation to ensure you have these extensions built and installed
+ on your system
+ </LI>
+ <LI>Ensure you have enabled Axis2/C to run Tuscany SCA services. Follow the instructions
+ found <A HREF="../../doc/Axis2CWSExtension.html#deploy">here</A>.
+ </LI>
+ <LI>Start the Axis2/C simple http server:
+ <OL>
+ <LI>The following environment variables are required:
+ <UL>
+ <LI>TUSCANY_SCACPP=&lt;path to installed Tuscany SCA&gt;</LI>
+ <LI>TUSCANY_SDOCPP=&lt;path to installed Tuscany SDO&gt;</LI>
+ <LI>AXIS2C_HOME=&lt;path to Axis2/C version 0.96&gt;</LI>
+ </UL>
+ </LI>
+ <LI>cd &lt;tuscany_sca_install_dir&gt;/samples/RubyBigBank/deploy/bigbank.account</LI>
+ <LI>./runwsserver.sh</LI>
+ </OL>
+ </LI>
+ <LI>Now run the Web Service client:
+ <OL>
+ <LI>The following environment variables are required:
+ <UL>
+ <LI>TUSCANY_SCACPP=&lt;path to installed Tuscany SCA&gt;</LI>
+ <LI>TUSCANY_SDOCPP=&lt;path to installed Tuscany SDO&gt;</LI>
+ <LI>AXIS2C_HOME=&lt;path to Axis2/C version 0.96&gt;</LI>
+ </UL>
+ </LI>
+ <LI>Run the sample with the following commands:
+ <UL>
+ <LI>cd &lt;tuscany_sca_install_dir&gt;/samples/RubyBigBank/deploy/bigbank.wsclient</LI>
+ <LI>./runwsclient.sh</LI>
+ </UL>
+ </LI>
+ </OL>
+ </LI>
+ <LI>The PHP web client detailed in the
+ <A HREF="../CppBigBank/README.html">CppBigBank</A> sample can also be used
+ with the Ruby BigBank service that is served by the Axis2/C http server started above.
+ </LI>
+ </OL>
+ </DIV>
+
+ <DIV CLASS="section">
+ <A NAME="winbld"><H2>Building the Ruby BigBank sample on Windows</H2></A>
+ <P>If using the binary distribution the samples are built and installed in
+ &lt;tuscany_sca_install_dir&gt;\samples - go directly to <A HREF="#winrun">Running the samples on Windows</A>.</P>
+ <OL>
+ <LI>The following environment variables are required:
+ <UL>
+ <LI>TUSCANY_SCACPP=&lt;path to installed Tuscany SCA&gt;
+ <LI>TUSCANY_SDOCPP=&lt;path to installed Tuscany SDO&gt;
+ </UL></LI>
+ </LI>
+ <LI>As this sample is based on Ruby scripts, a specific compilation step is not necessary -
+ only deployment is required. Deploy the sample with the following commands:
+ <UL>
+ <LI>cd &lt;tuscany_sca_install_dir&gt;\samples\RubyBigBank</LI>
+ <LI>deploy.bat</LI>
+ </UL>
+ </LI>
+ </OL>
+ </DIV>
+
+ <DIV CLASS="section">
+ <A NAME="winrun"><H2>Running the Ruby BigBank sample on Windows</H2></A>
+ <A NAME="winbasic"><H3>BigBank with basic client</H3></A>
+ <OL>
+ <LI>The Ruby BigBank sample requires the following extensions:
+ <UL>
+ <LI><A HREF="../../doc/RubyExtension.html">Ruby Extension</A></LI>
+ <LI><A HREF="../../doc/Axis2CWSExtension.html">Axis2/C Web Services Extension</A></LI>
+ </UL>
+ Please follow the documentation to ensure you have these extensions built and installed
+ on your system
+ </LI>
+ <LI>The following environment variables are required:
+ <UL>
+ <LI>TUSCANY_SCACPP=&lt;path to installed Tuscany SCA&gt;</LI>
+ <LI>TUSCANY_SDOCPP=&lt;path to installed Tuscany SDO&gt;</LI>
+ </UL>
+ </LI>
+ <LI>Run the sample with the following commands:
+ <UL>
+ <LI>cd &lt;tuscany_sca_install_dir&gt;\samples\RubyBigBank\deploy\bigbank.client</LI>
+ <LI>runclient.bat</LI>
+ </UL>
+ </LI>
+ </OL>
+ <A NAME="winws"><H3>BigBank with Web Service clients</H3></A>
+ <OL>
+ <LI>The Ruby BigBank sample requires the following extensions:
+ <UL>
+ <LI><A HREF="../../doc/RubyExtension.html">Ruby Extension</A></LI>
+ <LI><A HREF="../../doc/Axis2CWSExtension.html">Axis2/C Web Services Extension</A></LI>
+ </UL>
+ Please follow the documentation to ensure you have these extensions built and installed
+ on your system
+ </LI>
+ <LI>Ensure you have enabled Axis2/C to run Tuscany SCA services. Follow the instructions
+ found <A HREF="../../doc/Axis2CWSExtension.html#deploy">here</A>.
+ </LI>
+ <LI>Start the Axis2/C simple http server:
+ <OL>
+ <LI>The following environment variables are required:
+ <UL>
+ <LI>TUSCANY_SCACPP=&lt;path to installed Tuscany SCA&gt;</LI>
+ <LI>TUSCANY_SDOCPP=&lt;path to installed Tuscany SDO&gt;</LI>
+ <LI>AXIS2C_HOME=&lt;path to Axis2/C version 0.96&gt;</LI>
+ </UL>
+ </LI>
+ <LI>cd &lt;tuscany_sca_install_dir&gt;\samples\RubyBigBank\deploy\bigbank.account
+ </LI>
+ <LI>runwsserver.bat</LI>
+ </OL>
+ </LI>
+ <LI>Now run the Web Service client:
+ <OL>
+ <LI>The following environment variables are required:
+ <UL>
+ <LI>TUSCANY_SCACPP=&lt;path to installed Tuscany SCA&gt;</LI>
+ <LI>TUSCANY_SDOCPP=&lt;path to installed Tuscany SDO&gt;</LI>
+ <LI>AXIS2C_HOME=&lt;path to Axis2/C version 0.96&gt;</LI>
+ </UL>
+ </LI>
+ <LI>Run the sample with the following commands:
+ <UL>
+ <LI>cd &lt;tuscany_sca_install_dir&gt;/samples/RubyBigBank/deploy/bigbank.wsclient</LI>
+ <LI>./runwsclient.bat</LI>
+ </UL>
+ </LI>
+ </OL>
+ </LI>
+ <LI>The PHP web client detailed in the
+ <A HREF="../CppBigBank/README.html">CppBigBank</A> sample can also be used
+ with the Ruby BigBank service that is served by the Axis2/C http server started above.
+ </LI>
+ </OL>
+ </DIV>
+
+
+
+ <DIV CLASS="section">
+ <A NAME="help"><H2>Getting Help</H2></A>
+
+ <P>The first place to look is at the Tuscany SCA FAQ at
+ <A HREF="http://cwiki.apache.org/confluence/display/TUSCANY/Tuscany+SCA+-+FAQ"
+ TARGET="_blank">http://cwiki.apache.org/confluence/display/TUSCANY/Tuscany+SCA+-+FAQ</A> </P>
+
+ <P>Any problem with this release can be reported to the Tuscany
+ <A HREF="http://cwiki.apache.org/TUSCANY/mailing-lists.html"
+ TARGET="_blank">mailing lists</A> or create a JIRA issue at&nbsp;<A HREF="http://issues.apache.org/jira/browse/Tuscany"
+ TARGET="_blank">http://issues.apache.org/jira/browse/Tuscany</A>.</P>
+
+ </DIV>
+ </DIV>
+</DIV>
+</BODY>
+
+</HTML>
+
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/AccountDataServiceImpl.rb b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/AccountDataServiceImpl.rb
new file mode 100644
index 0000000000..8ae0e23bab
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/AccountDataServiceImpl.rb
@@ -0,0 +1,72 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+#
+
+require "rexml/document"
+include REXML
+
+class AccountDataServiceImpl
+
+ def initialize()
+ print "Ruby - AccountDataServiceImpl.initialize\n"
+ end
+
+ def getCheckingAccount(id)
+ print "Ruby - AccountDataServiceImpl.getCheckingAccount ", id, "\n"
+
+ result = Document.new <<-eof
+ <CheckingAccount xmlns="http://www.bigbank.com/AccountService"
+ xsi:type="CheckingAccount" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <accountNumber>#{ id.to_s + "_CHA12345"}</accountNumber>
+ <balance>1500.0</balance>
+ </CheckingAccount>
+ eof
+
+ return result
+ end
+
+ def getSavingsAccount(id)
+ print "Ruby - AccountDataServiceImpl.getSavingsAccount ", id, "\n"
+
+ result = Document.new <<-eof
+ <SavingsAccount xmlns="http://www.bigbank.com/AccountService"
+ xsi:type="SavingsAccount" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <accountNumber>#{ id.to_s + "_SAA12345"}</accountNumber>
+ <balance>1500.0</balance>
+ </SavingsAccount>
+ eof
+
+ return result
+ end
+
+ def getStockAccount(id)
+ print "Ruby - AccountDataServiceImpl.getStockAccount ", id, "\n"
+
+ result = Document.new <<-eof
+ <StockAccount xmlns="http://www.bigbank.com/AccountService"
+ xsi:type="StockAccount" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <accountNumber>#{ id.to_s + "_STA12345"}</accountNumber>
+ <symbol>IBM</symbol>
+ <quantity>100</quantity>
+ <balance></balance>
+ </StockAccount>
+ eof
+
+ return result
+ end
+
+end
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/AccountService.wsdl b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/AccountService.wsdl
new file mode 100644
index 0000000000..b83c453462
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/AccountService.wsdl
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://www.bigbank.com/AccountService"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.bigbank.com/AccountService"
+ name="AccountService">
+
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://www.bigbank.com/AccountService"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <xsd:element name="getAccountReport">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="customerID"
+ type="xsd:string" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="getAccountReportResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="result"
+ type="tns:AccountReport" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="AccountReport">
+ <xsd:sequence>
+ <xsd:element name="checking"
+ type="tns:CheckingAccount" maxOccurs="unbounded" />
+ <xsd:element name="savings"
+ type="tns:SavingsAccount" maxOccurs="unbounded" />
+ <xsd:element name="stocks" type="tns:StockAccount"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="StockAccount">
+ <xsd:sequence>
+ <xsd:element name="accountNumber" type="xsd:string" />
+ <xsd:element name="symbol" type="xsd:string" />
+ <xsd:element name="quantity" type="xsd:integer" />
+ <xsd:element name="balance" type="xsd:float" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="CheckingAccount">
+ <xsd:sequence>
+ <xsd:element name="accountNumber" type="xsd:string" />
+ <xsd:element name="balance" type="xsd:float" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="SavingsAccount">
+ <xsd:sequence>
+ <xsd:element name="accountNumber" type="xsd:string" />
+ <xsd:element name="balance" type="xsd:float" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:schema>
+ </wsdl:types>
+
+ <wsdl:message name="getAccountReportRequest">
+ <wsdl:part element="tns:getAccountReport"
+ name="getAccountReportRequest" />
+ </wsdl:message>
+
+ <wsdl:message name="getAccountReportResponse">
+ <wsdl:part element="tns:getAccountReportResponse"
+ name="getAccountReportResponse" />
+ </wsdl:message>
+
+ <wsdl:portType name="AccountService">
+ <wsdl:operation name="getAccountReport">
+ <wsdl:input message="tns:getAccountReportRequest" />
+ <wsdl:output message="tns:getAccountReportResponse" />
+ </wsdl:operation>
+ </wsdl:portType>
+
+ <wsdl:binding name="AccountServiceSOAP" type="tns:AccountService">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="getAccountReport">
+ <soap:operation
+ soapAction="http://www.bigbank.com/AccountService/getAccountReport" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="AccountService">
+ <wsdl:port binding="tns:AccountServiceSOAP"
+ name="AccountServiceSOAP">
+ <soap:address
+ location="http://localhost:9090/axis2/services/bigbank.AccountManagementComponent/AccountService" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/AccountServiceImpl.rb b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/AccountServiceImpl.rb
new file mode 100644
index 0000000000..aab789ca13
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/AccountServiceImpl.rb
@@ -0,0 +1,82 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+#
+
+require "rexml/document"
+include REXML
+
+class AccountServiceImpl
+
+ attr_writer :accountDataService
+ attr_writer :stockQuoteService
+ attr_writer :currency
+
+ def initialize()
+ print "Ruby - AccountServiceImpl.initialize\n"
+ end
+
+ def getAccountReport(customerID)
+
+ # Get the checking account info
+ checking = @accountDataService.getCheckingAccount(customerID)
+
+ # Get the savings account info
+ savings = @accountDataService.getSavingsAccount(customerID)
+
+ # Get the stocks account info
+ stock = @accountDataService.getStockAccount(customerID);
+ symbol = stock.root.elements["symbol"].text
+ quantity = stock.root.elements["quantity"].text
+
+ # Get the stock price
+ price = @stockQuoteService.getQuote(symbol);
+
+ # Convert to the configured currency
+ price = price.to_f * 0.80 if @currency == "EUR"
+
+ # Calculate the balance
+ balance = price.to_f * quantity.to_f
+
+ # Form the AccountReport document
+ report = Document.new <<-eof
+ <AccountReport xmlns="http://www.bigbank.com/AccountService"
+ xsi:type="AccountReport" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <checking>
+ <accountNumber>#{ checking.root.elements["accountNumber"].text }</accountNumber>
+ <balance>#{ checking.root.elements["balance"].text }</balance>
+ </checking>
+
+ <savings>
+ <accountNumber>#{ savings.root.elements["accountNumber"].text }</accountNumber>
+ <balance>#{ savings.root.elements["balance"].text }</balance>
+ </savings>
+
+ <stocks>
+ <accountNumber>#{ stock.root.elements["accountNumber"].text }</accountNumber>
+ <symbol>#{ symbol }</symbol>
+ <quantity>#{ quantity }</quantity>
+ <balance>#{ balance }</balance>
+ </stocks>
+
+ </AccountReport>
+ eof
+
+ return report
+ end
+
+end
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/Makefile.am b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/Makefile.am
new file mode 100644
index 0000000000..6e5ec38414
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/Makefile.am
@@ -0,0 +1,24 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+
+deploydir=$(prefix)/RubyBigBank/deploy
+compositedir=$(deploydir)/bigbank.account
+
+composite_SCRIPTS = runwsserver.sh
+
+composite_DATA = *.composite *.wsdl *.xsd *.rb
+EXTRA_DIST = *.composite *.wsdl *.xsd runwsserver.sh *.rb
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/StockQuoteServiceImpl.rb b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/StockQuoteServiceImpl.rb
new file mode 100644
index 0000000000..7f8634072c
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/StockQuoteServiceImpl.rb
@@ -0,0 +1,52 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+#
+
+require "rexml/document"
+include REXML
+
+class StockQuoteServiceImpl
+
+ attr_writer :webService
+
+ def initialize()
+ print "Ruby - StockQuoteServiceImpl.initialize\n"
+ end
+
+ def getQuote(symbol)
+ print "Ruby - StockQuoteServiceImpl.getQuote ", symbol, "\n"
+
+ price = 0
+ catch (:RuntimeError) do
+ begin
+
+ result = @webService.GetQuote(symbol)
+ doc = Document.new(result)
+ price = doc.root.elements["Stock"].elements["Last"].text;
+
+ rescue
+ # offline or StockQuote web service is down
+ price = 95.0
+ end
+ end
+
+ print "Ruby - stock price = ", price, "\n"
+
+ return price.to_f
+ end
+
+end \ No newline at end of file
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/StockQuoteTypes.xsd b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/StockQuoteTypes.xsd
new file mode 100644
index 0000000000..2f7012b5fb
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/StockQuoteTypes.xsd
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:element name="StockQuotes" type="tStockQuotes"/>
+ <xs:complexType name="tStockQuotes">
+ <xs:sequence>
+ <xs:element name="Stock" type="tStock" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:anyAttribute namespace="##any" processContents="lax"/>
+ </xs:complexType>
+
+ <xs:complexType name="tStock">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="Symbol" type="xs:string"/>
+ <xs:element minOccurs="0" maxOccurs="1" name="Last" type="xs:float"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:anyAttribute namespace="##any" processContents="lax"/>
+ </xs:complexType>
+</xs:schema> \ No newline at end of file
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/StockQuoteWebService.wsdl b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/StockQuoteWebService.wsdl
new file mode 100644
index 0000000000..c14f97c87b
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/StockQuoteWebService.wsdl
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+
+<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:s="http://www.w3.org/2001/XMLSchema"
+ xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:tns="http://www.webserviceX.NET/"
+ xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
+ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
+ targetNamespace="http://www.webserviceX.NET/"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <wsdl:types>
+ <s:schema elementFormDefault="qualified"
+ targetNamespace="http://www.webserviceX.NET/">
+ <s:element name="GetQuote">
+ <s:complexType>
+ <s:sequence>
+ <s:element minOccurs="0" maxOccurs="1"
+ name="symbol" type="s:string" />
+ </s:sequence>
+ </s:complexType>
+
+ </s:element>
+ <s:element name="GetQuoteResponse">
+ <s:complexType>
+ <s:sequence>
+ <s:element minOccurs="0" maxOccurs="1"
+ name="GetQuoteResult" type="s:string" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+ <s:element name="string" nillable="true" type="s:string" />
+
+ </s:schema>
+ </wsdl:types>
+ <wsdl:message name="GetQuoteSoapIn">
+ <wsdl:part name="parameters" element="tns:GetQuote" />
+ </wsdl:message>
+ <wsdl:message name="GetQuoteSoapOut">
+ <wsdl:part name="parameters" element="tns:GetQuoteResponse" />
+ </wsdl:message>
+ <wsdl:message name="GetQuoteHttpGetIn">
+
+ <wsdl:part name="symbol" type="s:string" />
+ </wsdl:message>
+ <wsdl:message name="GetQuoteHttpGetOut">
+ <wsdl:part name="Body" element="tns:string" />
+ </wsdl:message>
+ <wsdl:message name="GetQuoteHttpPostIn">
+ <wsdl:part name="symbol" type="s:string" />
+ </wsdl:message>
+ <wsdl:message name="GetQuoteHttpPostOut">
+
+ <wsdl:part name="Body" element="tns:string" />
+ </wsdl:message>
+ <wsdl:portType name="StockQuoteSoap">
+ <wsdl:operation name="GetQuote">
+ <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">
+ Get Stock quote for a company Symbol
+ </documentation>
+ <wsdl:input message="tns:GetQuoteSoapIn" />
+ <wsdl:output message="tns:GetQuoteSoapOut" />
+ </wsdl:operation>
+
+ </wsdl:portType>
+ <wsdl:portType name="StockQuoteHttpGet">
+ <wsdl:operation name="GetQuote">
+ <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">
+ Get Stock quote for a company Symbol
+ </documentation>
+ <wsdl:input message="tns:GetQuoteHttpGetIn" />
+ <wsdl:output message="tns:GetQuoteHttpGetOut" />
+ </wsdl:operation>
+ </wsdl:portType>
+
+ <wsdl:portType name="StockQuoteHttpPost">
+ <wsdl:operation name="GetQuote">
+ <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">
+ Get Stock quote for a company Symbol
+ </documentation>
+ <wsdl:input message="tns:GetQuoteHttpPostIn" />
+ <wsdl:output message="tns:GetQuoteHttpPostOut" />
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="StockQuoteSoap" type="tns:StockQuoteSoap">
+
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
+ style="document" />
+ <wsdl:operation name="GetQuote">
+ <soap:operation
+ soapAction="http://www.webserviceX.NET/GetQuote" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:binding name="StockQuoteHttpGet"
+ type="tns:StockQuoteHttpGet">
+ <http:binding verb="GET" />
+ <wsdl:operation name="GetQuote">
+ <http:operation location="/GetQuote" />
+ <wsdl:input>
+ <http:urlEncoded />
+ </wsdl:input>
+
+ <wsdl:output>
+ <mime:mimeXml part="Body" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:binding name="StockQuoteHttpPost"
+ type="tns:StockQuoteHttpPost">
+ <http:binding verb="POST" />
+ <wsdl:operation name="GetQuote">
+ <http:operation location="/GetQuote" />
+
+ <wsdl:input>
+ <mime:content type="application/x-www-form-urlencoded" />
+ </wsdl:input>
+ <wsdl:output>
+ <mime:mimeXml part="Body" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="StockQuote">
+
+ <wsdl:port name="StockQuoteSoap" binding="tns:StockQuoteSoap">
+ <soap:address
+ location="http://www.webservicex.net/stockquote.asmx" />
+ </wsdl:port>
+ <wsdl:port name="StockQuoteHttpGet"
+ binding="tns:StockQuoteHttpGet">
+ <http:address
+ location="http://www.webservicex.net/stockquote.asmx" />
+ </wsdl:port>
+ <wsdl:port name="StockQuoteHttpPost"
+ binding="tns:StockQuoteHttpPost">
+ <http:address
+ location="http://www.webservicex.net/stockquote.asmx" />
+ </wsdl:port>
+
+ </wsdl:service>
+</wsdl:definitions> \ No newline at end of file
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/bigbank.account.composite b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/bigbank.account.composite
new file mode 100644
index 0000000000..8fff8425a1
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/bigbank.account.composite
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ name="bigbank.account">
+
+ <service name="AccountService">
+ <interface.wsdl interface="http://www.bigbank.com/AccountService#wsdl.interface(AccountService)"/>
+ <!-- The endpoint is optional -->
+ <!-- <binding.ws endpoint="http://www.bigbank.com/AccountService#wsdl.endpoint(AccountService/AccountServiceSOAP)"/> -->
+ <binding.ws/>
+ <reference>AccountServiceComponent</reference>
+ </service>
+
+ <component name="AccountServiceComponent">
+ <implementation.ruby script="AccountServiceImpl.rb" class="AccountServiceImpl"/>
+ <reference name="accountDataService">AccountDataServiceComponent</reference>
+ <reference name="stockQuoteService">StockQuoteServiceComponent</reference>
+ <property name="currency">USD</property>
+ </component>
+
+ <component name="AccountDataServiceComponent">
+ <implementation.ruby script="AccountDataServiceImpl.rb" class="AccountDataServiceImpl"/>
+ </component>
+
+ <component name="StockQuoteServiceComponent">
+ <implementation.ruby script="StockQuoteServiceImpl.rb" class="StockQuoteServiceImpl"/>
+ <reference name="webService">StockQuoteWebService</reference>
+ </component>
+
+ <reference name="StockQuoteWebService">
+ <interface.wsdl interface="http://www.webserviceX.NET/#wsdl.interface(StockQuoteSoap)"/>
+ <binding.ws endpoint="http://www.webserviceX.NET/#wsdl.endpoint(StockQuote/StockQuoteSoap)"/>
+ </reference>
+
+</composite>
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/runwsserver.bat b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/runwsserver.bat
new file mode 100644
index 0000000000..3ab4275436
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/runwsserver.bat
@@ -0,0 +1,51 @@
+@echo off
+
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+
+setlocal
+
+if "%TUSCANY_SCACPP%" == "" (
+echo "TUSCANY_SCACPP not set"
+goto end
+)
+echo Using SCA installed at %TUSCANY_SCACPP%
+
+if "%TUSCANY_SDOCPP%" == "" (
+echo "TUSCANY_SDOCPP not set"
+goto end
+)
+echo Using SDO installed at %TUSCANY_SDOCPP%
+
+if "%AXIS2C_HOME%" == "" (
+echo "AXIS2C_HOME not set"
+goto end
+)
+echo Using Axis2C installed at %AXIS2C_HOME%
+
+set APFULLDIR=%~d0%~p0
+set TUSCANY_SCACPP_ROOT=%~d0%~p0\..\
+set TUSCANY_SCACPP_BASE_URI=http://localhost:9090
+
+rem Run the server
+set PATH=%TUSCANY_SCACPP%\bin;%TUSCANY_SCACPP%\extensions\cpp\bin;%TUSCANY_SDOCPP%\bin;%AXIS2C_HOME%\lib;%PATH%
+
+cd %AXIS2C_HOME%\bin
+.\axis2_http_server.exe
+
+:end
+endlocal
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/runwsserver.sh b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/runwsserver.sh
new file mode 100755
index 0000000000..e3bbca46c6
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.account/runwsserver.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+
+APFULLDIR=`pwd`
+
+if [ x$TUSCANY_SCACPP = x ]; then
+echo "TUSCANY_SCACPP not set"
+exit;
+fi
+echo "Using SCA installed at $TUSCANY_SCACPP"
+
+if [ x$TUSCANY_SDOCPP = x ]; then
+echo "TUSCANY_SDOCPP not set"
+exit;
+fi
+echo "Using SDO installed at $TUSCANY_SDOCPP"
+
+if [ x$AXIS2C_HOME = x ]; then
+echo "AXIS2C_HOME not set"
+exit;
+fi
+echo "Using Axis2C installed at $AXIS2C_HOME"
+
+export LD_LIBRARY_PATH=$TUSCANY_SCACPP/extensions/cpp/lib:$TUSCANY_SCACPP/lib:$TUSCANY_SDOCPP/lib:$AXIS2C_HOME/lib:$LD_LIBRARY_PATH
+
+export TUSCANY_SCACPP_ROOT=$APFULLDIR/../
+export TUSCANY_SCACPP_BASE_URI=http://localhost:9090
+
+cd $AXIS2C_HOME/bin
+./axis2_http_server
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.app.composite b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.app.composite
new file mode 100644
index 0000000000..dd94e61e5b
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.app.composite
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ name="bigbank.app">
+
+ <component name="bigbank.AccountManagementComponent">
+ <implementation.composite name="bigbank.account"/>
+ </component>
+
+ <component name="bigbank.AccountWSClientComponent">
+ <implementation.composite name="bigbank.wsclient"/>
+ <reference name="AccountService">bigbank.AccountManagementComponent/AccountService</reference>
+ </component>
+
+</composite>
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.client/AccountClient.rb b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.client/AccountClient.rb
new file mode 100644
index 0000000000..31c0acc909
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.client/AccountClient.rb
@@ -0,0 +1,40 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+#
+#
+
+require("tuscany_sca_ruby")
+
+accountService = SCA::locateService("AccountServiceComponent")
+
+report = accountService.getAccountReport(1234)
+
+checking = report.root.elements["checking"]
+savings = report.root.elements["savings"]
+stocks = report.root.elements["stocks"]
+
+print "\n"
+print "Checking account: ", checking.elements["accountNumber"].text.strip, "\n"
+print "Balance: ", checking.elements["balance"].text.strip, "\n"
+
+print "Savings account: ", savings.elements["accountNumber"].text.strip, "\n"
+print "Balance: ", savings.elements["balance"].text.strip, "\n"
+
+print "Stocks account:", stocks.elements["accountNumber"].text.strip, "\n"
+print "Symbol: ", stocks.elements["symbol"].text.strip, "\n"
+print "Quantity: ", stocks.elements["quantity"].text.strip, "\n"
+print "Balance: ", stocks.elements["balance"].text.strip, "\n"
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.client/Makefile.am b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.client/Makefile.am
new file mode 100644
index 0000000000..4e4936746a
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.client/Makefile.am
@@ -0,0 +1,23 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+
+deploydir=$(prefix)/RubyBigBank/deploy
+clientdir=$(deploydir)/bigbank.client
+
+client_DATA = *.rb
+client_SCRIPTS = runclient.sh
+EXTRA_DIST = runclient.sh *.rb
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.client/runclient.bat b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.client/runclient.bat
new file mode 100644
index 0000000000..0495237f7f
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.client/runclient.bat
@@ -0,0 +1,51 @@
+@echo off
+
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+
+setlocal
+
+if "%TUSCANY_SCACPP%" == "" (
+echo "TUSCANY_SCACPP not set"
+goto end
+)
+echo Using SCA installed at %TUSCANY_SCACPP%
+
+if "%TUSCANY_SDOCPP%" == "" (
+echo "TUSCANY_SDOCPP not set"
+goto end
+)
+echo Using SDO installed at %TUSCANY_SDOCPP%
+
+if "%AXIS2C_HOME%" == "" (
+echo "AXIS2C_HOME not set"
+goto end
+)
+echo Using Axis2C installed at %AXIS2C_HOME%
+
+rem Run the client
+set PATH=%TUSCANY_SCACPP%\extensions\ruby\bin;%TUSCANY_SCACPP%\bin;%TUSCANY_SDOCPP%\bin;%AXIS2C_HOME%\lib;%PATH%
+
+set TUSCANY_SCACPP_ROOT=%~d0%~p0\..\
+set TUSCANY_SCACPP_COMPONENT=bigbank.AccountManagementComponent
+set TUSCANY_SCACPP_BASE_URI=http://localhost:9090
+
+cd %TUSCANY_SCACPP_ROOT%\bigbank.client
+ruby -I%TUSCANY_SCACPP%\extensions\ruby\bin AccountClient.rb
+
+:end
+endlocal
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.client/runclient.sh b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.client/runclient.sh
new file mode 100755
index 0000000000..94d5cd6ff8
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.client/runclient.sh
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+
+
+APFULLDIR=`pwd`
+
+if [ x$TUSCANY_SCACPP = x ]; then
+echo "TUSCANY_SCACPP not set"
+exit;
+fi
+echo "Using SCA installed at $TUSCANY_SCACPP"
+
+if [ x$TUSCANY_SDOCPP = x ]; then
+echo "TUSCANY_SDOCPP not set"
+exit;
+fi
+echo "Using SDO installed at $TUSCANY_SDOCPP"
+
+if [ x$AXIS2C_HOME = x ]; then
+echo "AXIS2C_HOME not set"
+exit;
+fi
+echo "Using Axis2C installed at $AXIS2C_HOME"
+
+export LD_LIBRARY_PATH=$TUSCANY_SCACPP/extensions/ruby/lib:$TUSCANY_SCACPP/lib:$TUSCANY_SDOCPP/lib:$AXIS2C_HOME/lib:$LD_LIBRARY_PATH
+
+export TUSCANY_SCACPP_ROOT=$APFULLDIR/../
+export TUSCANY_SCACPP_COMPONENT=bigbank.AccountManagementComponent
+export TUSCANY_SCACPP_BASE_URI=http://localhost:9090
+
+cd $TUSCANY_SCACPP_ROOT/bigbank.client
+ruby -I$TUSCANY_SCACPP/extensions/ruby/lib AccountClient.rb
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/AccountService.wsdl b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/AccountService.wsdl
new file mode 100644
index 0000000000..b83c453462
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/AccountService.wsdl
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://www.bigbank.com/AccountService"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.bigbank.com/AccountService"
+ name="AccountService">
+
+ <wsdl:types>
+ <xsd:schema
+ targetNamespace="http://www.bigbank.com/AccountService"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <xsd:element name="getAccountReport">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="customerID"
+ type="xsd:string" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="getAccountReportResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="result"
+ type="tns:AccountReport" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="AccountReport">
+ <xsd:sequence>
+ <xsd:element name="checking"
+ type="tns:CheckingAccount" maxOccurs="unbounded" />
+ <xsd:element name="savings"
+ type="tns:SavingsAccount" maxOccurs="unbounded" />
+ <xsd:element name="stocks" type="tns:StockAccount"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="StockAccount">
+ <xsd:sequence>
+ <xsd:element name="accountNumber" type="xsd:string" />
+ <xsd:element name="symbol" type="xsd:string" />
+ <xsd:element name="quantity" type="xsd:integer" />
+ <xsd:element name="balance" type="xsd:float" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="CheckingAccount">
+ <xsd:sequence>
+ <xsd:element name="accountNumber" type="xsd:string" />
+ <xsd:element name="balance" type="xsd:float" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="SavingsAccount">
+ <xsd:sequence>
+ <xsd:element name="accountNumber" type="xsd:string" />
+ <xsd:element name="balance" type="xsd:float" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:schema>
+ </wsdl:types>
+
+ <wsdl:message name="getAccountReportRequest">
+ <wsdl:part element="tns:getAccountReport"
+ name="getAccountReportRequest" />
+ </wsdl:message>
+
+ <wsdl:message name="getAccountReportResponse">
+ <wsdl:part element="tns:getAccountReportResponse"
+ name="getAccountReportResponse" />
+ </wsdl:message>
+
+ <wsdl:portType name="AccountService">
+ <wsdl:operation name="getAccountReport">
+ <wsdl:input message="tns:getAccountReportRequest" />
+ <wsdl:output message="tns:getAccountReportResponse" />
+ </wsdl:operation>
+ </wsdl:portType>
+
+ <wsdl:binding name="AccountServiceSOAP" type="tns:AccountService">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="getAccountReport">
+ <soap:operation
+ soapAction="http://www.bigbank.com/AccountService/getAccountReport" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="AccountService">
+ <wsdl:port binding="tns:AccountServiceSOAP"
+ name="AccountServiceSOAP">
+ <soap:address
+ location="http://localhost:9090/axis2/services/bigbank.AccountManagementComponent/AccountService" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/AccountWSClient.rb b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/AccountWSClient.rb
new file mode 100644
index 0000000000..6775b80f7a
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/AccountWSClient.rb
@@ -0,0 +1,40 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+#
+#
+
+require("tuscany_sca_ruby")
+
+accountService = SCA::locateService("AccountService")
+
+report = accountService.getAccountReport(1234)
+
+checking = report.root.elements["checking"]
+savings = report.root.elements["savings"]
+stocks = report.root.elements["stocks"]
+
+print "\n\n"
+print "Checking account #: ", checking.elements["accountNumber"].text.strip, "\n"
+print "Balance: ", checking.elements["balance"].text.strip, "\n"
+
+print "Savings account #: ", savings.elements["accountNumber"].text.strip, "\n"
+print "Balance: ", savings.elements["balance"].text.strip, "\n"
+
+print "Stocks account #:", stocks.elements["accountNumber"].text.strip, "\n"
+print "Symbol: ", stocks.elements["symbol"].text.strip, "\n"
+print "Quantity: ", stocks.elements["quantity"].text.strip, "\n"
+print "Balance: ", stocks.elements["balance"].text.strip, "\n"
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/Makefile.am b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/Makefile.am
new file mode 100644
index 0000000000..23f8b55959
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/Makefile.am
@@ -0,0 +1,23 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+
+deploydir=$(prefix)/RubyBigBank/deploy
+clientdir=$(deploydir)/bigbank.wsclient
+
+client_DATA = *.rb *.composite *.wsdl
+client_SCRIPTS = runwsclient.sh
+EXTRA_DIST = runwsclient.sh *.rb *.composite *.wsdl
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/bigbank.wsclient.composite b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/bigbank.wsclient.composite
new file mode 100644
index 0000000000..f484a2fc7c
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/bigbank.wsclient.composite
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ name="bigbank.wsclient">
+
+ <reference name="AccountService">
+ <interface.wsdl interface="http://www.bigbank.com/AccountService#wsdl.interface(AccountService)"/>
+ <binding.ws/>
+ </reference>
+
+</composite>
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/runwsclient.bat b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/runwsclient.bat
new file mode 100644
index 0000000000..6e1bb27b4a
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/runwsclient.bat
@@ -0,0 +1,51 @@
+@echo off
+
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+
+setlocal
+
+if "%TUSCANY_SCACPP%" == "" (
+echo "TUSCANY_SCACPP not set"
+goto end
+)
+echo Using SCA installed at %TUSCANY_SCACPP%
+
+if "%TUSCANY_SDOCPP%" == "" (
+echo "TUSCANY_SDOCPP not set"
+goto end
+)
+echo Using SDO installed at %TUSCANY_SDOCPP%
+
+if "%AXIS2C_HOME%" == "" (
+echo "AXIS2C_HOME not set"
+goto end
+)
+echo Using Axis2C installed at %AXIS2C_HOME%
+
+rem Run the client
+set PATH=%TUSCANY_SCACPP%\extensions\ruby\bin;%TUSCANY_SCACPP%\bin;%TUSCANY_SDOCPP%\bin;%AXIS2C_HOME%\lib;%PATH%
+
+set TUSCANY_SCACPP_ROOT=%~d0%~p0\..\
+set TUSCANY_SCACPP_COMPONENT=bigbank.AccountWSClientComponent
+set TUSCANY_SCACPP_BASE_URI=http://localhost:9090
+
+cd %TUSCANY_SCACPP_ROOT%\bigbank.wsclient
+ruby -I%TUSCANY_SCACPP%\extensions\ruby\bin AccountWSClient.rb
+
+:end
+endlocal
diff --git a/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/runwsclient.sh b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/runwsclient.sh
new file mode 100755
index 0000000000..d50e6a4b0a
--- /dev/null
+++ b/sca-cpp/branches/cpp-contrib/contrib/samples/RubyBigBank/bigbank.wsclient/runwsclient.sh
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+
+
+APFULLDIR=`pwd`
+
+if [ x$TUSCANY_SCACPP = x ]; then
+echo "TUSCANY_SCACPP not set"
+exit;
+fi
+echo "Using SCA installed at $TUSCANY_SCACPP"
+
+if [ x$TUSCANY_SDOCPP = x ]; then
+echo "TUSCANY_SDOCPP not set"
+exit;
+fi
+echo "Using SDO installed at $TUSCANY_SDOCPP"
+
+if [ x$AXIS2C_HOME = x ]; then
+echo "AXIS2C_HOME not set"
+exit;
+fi
+echo "Using Axis2C installed at $AXIS2C_HOME"
+
+export LD_LIBRARY_PATH=$TUSCANY_SCACPP/extensions/ruby/lib:$TUSCANY_SCACPP/lib:$TUSCANY_SDOCPP/lib:$AXIS2C_HOME/lib:$LD_LIBRARY_PATH
+
+export TUSCANY_SCACPP_ROOT=$APFULLDIR/../
+export TUSCANY_SCACPP_COMPONENT=bigbank.AccountWSClientComponent
+export TUSCANY_SCACPP_BASE_URI=http://localhost:9090
+
+cd $TUSCANY_SCACPP_ROOT/bigbank.wsclient
+ruby -I$TUSCANY_SCACPP/extensions/ruby/lib AccountWSClient.rb