summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.1/modules/implementation-bpel/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-1.1/modules/implementation-bpel/src/test')
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELDocumentProcessorTestCase.java67
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELHelloWorldTestCase.java59
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementationProcessorTestCase.java122
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELPingPongTestCase.java60
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELPingTestCase.java63
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELPongTestCase.java62
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/EmbeddedODEServerTestCase.java128
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/deploy.xml30
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/helloworld.bpel66
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/helloworld.componentType30
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/helloworld.composite29
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/helloworld.wsdl82
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/log4j.properties33
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping-pong/ping-pong.componentType36
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping-pong/ping-pong.composite36
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/deploy.xml35
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/ping.bpel124
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/ping.componentType36
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/ping.composite29
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/ping.wsdl84
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/pong.wsdl84
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/deploy.xml31
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/pong.bpel84
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/pong.componentType29
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/pong.composite30
-rw-r--r--branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/pong.wsdl93
26 files changed, 1562 insertions, 0 deletions
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELDocumentProcessorTestCase.java b/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELDocumentProcessorTestCase.java
new file mode 100644
index 0000000000..6aba1f27d9
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELDocumentProcessorTestCase.java
@@ -0,0 +1,67 @@
+/*
+ * 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.
+ */
+
+package org.apache.tuscany.sca.implementation.bpel;
+
+import java.net.URI;
+import java.net.URL;
+
+import javax.xml.namespace.QName;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory;
+import org.apache.tuscany.sca.contribution.DefaultModelFactoryExtensionPoint;
+import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
+import org.apache.tuscany.sca.implementation.bpel.impl.BPELDocumentProcessor;
+import org.apache.tuscany.sca.interfacedef.wsdl.DefaultWSDLFactory;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class BPELDocumentProcessorTestCase extends TestCase {
+
+ protected static final String BPEL_PROCESS_FILE = "helloworld/helloworld.bpel";
+
+ private ModelFactoryExtensionPoint modelFactories;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ modelFactories = new DefaultModelFactoryExtensionPoint();
+ modelFactories.addFactory(new DefaultAssemblyFactory());
+ modelFactories.addFactory(new DefaultWSDLFactory());
+
+ BPELFactory bpelFactory = new DefaultBPELFactory(modelFactories);
+ modelFactories.addFactory(bpelFactory);
+ }
+
+ public void testLoadBPELProcessDefinition() throws Exception {
+ BPELDocumentProcessor bpelDocumentProcessor = new BPELDocumentProcessor(modelFactories);
+
+ URI processURI = getClass().getClassLoader().getResource(BPEL_PROCESS_FILE).toURI();
+ URL processLocation = getClass().getClassLoader().getResource(BPEL_PROCESS_FILE);
+ BPELProcessDefinition bpelProcessDefinition = bpelDocumentProcessor.read(null, processURI, processLocation);
+
+ assertNotNull(bpelProcessDefinition);
+ assertEquals(new QName("http://tuscany.apache.org/implementation/bpel/example/helloworld", "HelloWorld"), bpelProcessDefinition.getName());
+ assertEquals(processLocation, bpelProcessDefinition.getLocation());
+ }
+}
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELHelloWorldTestCase.java b/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELHelloWorldTestCase.java
new file mode 100644
index 0000000000..208af4ca2f
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELHelloWorldTestCase.java
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ */
+
+package org.apache.tuscany.sca.implementation.bpel;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.implementation.bpel.example.helloworld.HelloPortType;
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+
+/**
+ * Tests the BPEL service
+ *
+ * @version $Rev$ $Date$
+ */
+public class BPELHelloWorldTestCase extends TestCase {
+
+ private SCADomain scaDomain;
+ HelloPortType bpelService = null;
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @Override
+ protected void setUp() throws Exception {
+ scaDomain = SCADomain.newInstance("helloworld/helloworld.composite");
+ bpelService = scaDomain.getService(HelloPortType.class, "BPELHelloWorldComponent");
+
+ }
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @Override
+ protected void tearDown() throws Exception {
+ scaDomain.close();
+ }
+
+ public void testInvoke() {
+ String response = bpelService.hello("Hello");
+ assertEquals("Hello World", response);
+ }
+}
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementationProcessorTestCase.java b/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementationProcessorTestCase.java
new file mode 100644
index 0000000000..b52a75012f
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementationProcessorTestCase.java
@@ -0,0 +1,122 @@
+/*
+ * 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.
+ */
+
+package org.apache.tuscany.sca.implementation.bpel;
+
+import java.io.StringReader;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamConstants;
+import javax.xml.stream.XMLStreamReader;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.assembly.AssemblyFactory;
+import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory;
+import org.apache.tuscany.sca.assembly.xml.Constants;
+import org.apache.tuscany.sca.contribution.DefaultModelFactoryExtensionPoint;
+import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
+import org.apache.tuscany.sca.implementation.bpel.impl.BPELImplementationProcessor;
+import org.apache.tuscany.sca.interfacedef.java.DefaultJavaInterfaceFactory;
+import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class BPELImplementationProcessorTestCase extends TestCase {
+
+ protected static final QName IMPLEMENTATION_BPEL = new QName(Constants.SCA10_NS, "implementation.bpel");
+
+ private static final String COMPOSITE =
+ "<?xml version=\"1.0\" encoding=\"ASCII\"?>"
+ + "<composite xmlns=\"http://www.osoa.org/xmlns/sca/1.0\" xmlns:hns=\"http://tuscany.apache.org/implementation/bpel/example/helloworld\" targetNamespace=\"http://bpel\" name=\"bpel\">"
+ + " <component name=\"BPELHelloWorldComponent\">"
+ + " <implementation.bpel process=\"hns:HelloWorld\" />"
+ + "</component>";
+
+ private static final String COMPOSITE_INVALID =
+ "<?xml version=\"1.0\" encoding=\"ASCII\"?>"
+ + "<composite xmlns=\"http://www.osoa.org/xmlns/sca/1.0\" xmlns:hns=\"http://tuscany.apache.org/implementation/bpel/example/helloworld\" targetNamespace=\"http://bpel\" name=\"bpel\">"
+ + " <component name=\"BPELHelloWorldComponent\">"
+ + " <implementation.bpel/>"
+ + "</component>";
+
+ private XMLInputFactory xmlFactory;
+ private ModelFactoryExtensionPoint modelFactories;
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ xmlFactory = XMLInputFactory.newInstance();
+
+ modelFactories = new DefaultModelFactoryExtensionPoint();
+ AssemblyFactory assemblyFactory = new DefaultAssemblyFactory();
+ modelFactories.addFactory(assemblyFactory);
+ JavaInterfaceFactory javaFactory = new DefaultJavaInterfaceFactory();
+ modelFactories.addFactory(javaFactory);
+ }
+
+ /**
+ * Test parsing valid composite definition. Valid coposite populated with correct values expected.
+ * @throws Exception
+ */
+ public void testLoadValidComposite() throws Exception {
+ XMLStreamReader reader = xmlFactory.createXMLStreamReader(new StringReader(COMPOSITE));
+
+ BPELImplementationProcessor bpelProcessor = new BPELImplementationProcessor(modelFactories);
+
+ while(true) {
+ int event = reader.next();
+ if(event == XMLStreamConstants.START_ELEMENT && IMPLEMENTATION_BPEL.equals(reader.getName())) {
+ break;
+ }
+ }
+
+ BPELImplementation implementation = bpelProcessor.read(reader);
+
+ assertNotNull(implementation);
+ assertEquals(new QName("http://tuscany.apache.org/implementation/bpel/example/helloworld", "HelloWorld"), implementation.getProcess());
+ }
+
+ /**
+ * Test parsing invalid composite definition. Exception should be thrown
+ * @throws Exception
+ */
+ public void testLoadInvalidComposite() throws Exception {
+ XMLStreamReader reader = xmlFactory.createXMLStreamReader(new StringReader(COMPOSITE_INVALID));
+
+ BPELImplementationProcessor bpelProcessor = new BPELImplementationProcessor(modelFactories);
+
+ while(true) {
+ int event = reader.next();
+ if(event == XMLStreamConstants.START_ELEMENT && IMPLEMENTATION_BPEL.equals(reader.getName())) {
+ break;
+ }
+ }
+
+ try {
+ bpelProcessor.read(reader);
+
+ fail("InvalidException should have been thrown");
+ } catch(Exception e) {
+ assertTrue(true);
+ }
+ }
+}
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELPingPongTestCase.java b/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELPingPongTestCase.java
new file mode 100644
index 0000000000..1ab2ba3d5d
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELPingPongTestCase.java
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+
+package org.apache.tuscany.sca.implementation.bpel;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.implementation.bpel.example.ping.PingPortType;
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+
+/**
+ * Tests the BPEL service
+ *
+ * @version $Rev$ $Date$
+ */
+public class BPELPingPongTestCase extends TestCase {
+
+ private SCADomain scaDomain;
+ PingPortType bpelPing = null;
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @Override
+ protected void setUp() throws Exception {
+ //scaDomain = SCADomain.newInstance("ping-pong/ping-pong.composite");
+ //bpelPing = scaDomain.getService(PingPortType.class, "BPELPingPong-PingComponent/PingService");
+ }
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @Override
+ protected void tearDown() throws Exception {
+ //scaDomain.close();
+ }
+
+ public void testPing() {
+ //String response = bpelPing.Ping("Ping");
+ //System.out.println("response:" + response);
+ //assertNotNull(response);
+ // assertEquals("Hello World", response);
+ }
+}
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELPingTestCase.java b/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELPingTestCase.java
new file mode 100644
index 0000000000..34f82318a3
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELPingTestCase.java
@@ -0,0 +1,63 @@
+/*
+ * 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.
+ */
+
+package org.apache.tuscany.sca.implementation.bpel;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.implementation.bpel.example.ping.PingPortType;
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+
+/**
+ * Tests the BPEL service
+ *
+ * @version $Rev$ $Date$
+ */
+public class BPELPingTestCase extends TestCase {
+
+ private SCADomain scaDomain;
+ PingPortType bpelService = null;
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @Override
+ protected void setUp() throws Exception {
+ //scaDomain = SCADomain.newInstance("ping/ping.composite");
+ //bpelService = scaDomain.getService(PingPortType.class, "BPELPingComponent");
+
+ }
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @Override
+ protected void tearDown() throws Exception {
+ //scaDomain.close();
+ }
+
+ public void testInvoke() {
+ /*
+ String response = bpelService.Ping("Ping");
+ System.out.println("response:" + response);
+ assertNotNull(response);
+ */
+ // assertEquals("Hello World", response);
+ }
+}
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELPongTestCase.java b/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELPongTestCase.java
new file mode 100644
index 0000000000..313bd66850
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELPongTestCase.java
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ */
+
+package org.apache.tuscany.sca.implementation.bpel;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.implementation.bpel.example.pong.PongPortType;
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+
+/**
+ * Tests the BPEL service
+ *
+ * @version $Rev$ $Date$
+ */
+public class BPELPongTestCase extends TestCase {
+
+ private SCADomain scaDomain;
+ PongPortType bpelService = null;
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @Override
+ protected void setUp() throws Exception {
+ scaDomain = SCADomain.newInstance("pong/pong.composite");
+ bpelService = scaDomain.getService(PongPortType.class, "BPELPongComponent");
+
+ }
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @Override
+ protected void tearDown() throws Exception {
+ scaDomain.close();
+ }
+
+ public void testInvoke() {
+ String response = bpelService.Pong("Pong");
+ System.out.println("response:" + response);
+ assertNotNull(response);
+
+ // assertEquals("Hello World", response);
+ }
+}
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/EmbeddedODEServerTestCase.java b/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/EmbeddedODEServerTestCase.java
new file mode 100644
index 0000000000..29f5cb74fc
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/EmbeddedODEServerTestCase.java
@@ -0,0 +1,128 @@
+/*
+ * 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.
+ */
+
+package org.apache.tuscany.sca.implementation.bpel;
+
+import java.io.File;
+import java.net.URL;
+import java.util.concurrent.Future;
+
+import javax.transaction.TransactionManager;
+import javax.xml.namespace.QName;
+
+import junit.framework.TestCase;
+
+import org.apache.ode.bpel.iapi.Message;
+import org.apache.ode.bpel.iapi.MyRoleMessageExchange;
+import org.apache.ode.bpel.iapi.MessageExchange.Status;
+import org.apache.ode.utils.DOMUtils;
+import org.apache.ode.utils.GUID;
+import org.apache.tuscany.sca.implementation.bpel.ode.EmbeddedODEServer;
+import org.apache.tuscany.sca.implementation.bpel.ode.GeronimoTxFactory;
+import org.apache.tuscany.sca.implementation.bpel.ode.ODEDeployment;
+import org.w3c.dom.Element;
+
+/**
+ * Test to Deploy and Invoke a HelloWorld BPEL process using EmbeddedODEServer
+ *
+ * @version $Rev$ $Date$
+ */
+public class EmbeddedODEServerTestCase extends TestCase {
+
+ private EmbeddedODEServer odeServer;
+
+ private TransactionManager txMgr;
+
+ @Override
+ protected void setUp() throws Exception {
+ GeronimoTxFactory txFactory = new GeronimoTxFactory();
+ txMgr = txFactory.getTransactionManager();
+
+ this.odeServer = new EmbeddedODEServer(txMgr);
+ odeServer.init();
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ odeServer.stop();
+ }
+
+ public void testProcessInvocation() throws Exception {
+ if (!odeServer.isInitialized()) {
+ fail("Server did not start !");
+ }
+
+ URL deployURL = getClass().getClassLoader().getResource("helloworld/deploy.xml");
+ File deploymentDir = new File(deployURL.toURI().getPath()).getParentFile();
+ System.out.println("Deploying : " + deploymentDir.toString());
+ System.out.println(deploymentDir);
+ if (odeServer.isInitialized()) {
+ try {
+ txMgr.begin();
+ odeServer.deploy(new ODEDeployment(deploymentDir));
+ txMgr.commit();
+ } catch (Exception e) {
+ e.printStackTrace();
+ txMgr.rollback();
+ }
+
+ // transaction one
+ MyRoleMessageExchange mex = null;
+ Future onhold = null;
+ try {
+ // invoke the process
+ txMgr.begin();
+ mex = odeServer.getBpelServer().getEngine().createMessageExchange(new GUID().toString(),
+ new QName("http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl", "HelloService"), "hello");
+
+ Message request = mex.createMessage(new QName("", ""));
+ request.setMessage(DOMUtils.stringToDOM("<message><TestPart><hello xmlns=\"http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl\">Hello</hello></TestPart></message>"));
+ onhold = mex.invoke(request);
+ txMgr.commit();
+ } catch (Exception e) {
+ e.printStackTrace();
+ txMgr.rollback();
+ }
+ // - end of transaction one
+
+ // Waiting until the reply is ready in case the engine needs to continue in a different thread
+ if (onhold != null)
+ onhold.get();
+
+ // transaction two
+ try {
+ txMgr.begin();
+ // Reloading the mex in the current transaction, otherwise we can't be sure we have
+ // the "freshest" one.
+ mex = (MyRoleMessageExchange) odeServer.getBpelServer().getEngine().getMessageExchange(mex.getMessageExchangeId());
+
+ Status status = mex.getStatus();
+ System.out.println("Status: " + status.name());
+ Element response = mex.getResponse().getMessage();
+ System.out.println("Response: " + DOMUtils.domToString(response));
+ txMgr.commit();
+ // end of transaction two
+ } catch (Exception e) {
+ e.printStackTrace();
+ txMgr.rollback();
+ }
+ }
+ }
+
+}
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/deploy.xml b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/deploy.xml
new file mode 100644
index 0000000000..571aa37d58
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/deploy.xml
@@ -0,0 +1,30 @@
+<!--
+ ~ 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.
+ -->
+<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
+ xmlns:tns="http://tuscany.apache.org/implementation/bpel/example/helloworld"
+ xmlns:wns="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl">
+
+
+ <process name="tns:HelloWorld">
+ <active>true</active>
+ <provide partnerLink="helloPartnerLink">
+ <service name="wns:HelloService" port="HelloPort"/>
+ </provide>
+ </process>
+</deploy>
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/helloworld.bpel b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/helloworld.bpel
new file mode 100644
index 0000000000..8cf91adc2c
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/helloworld.bpel
@@ -0,0 +1,66 @@
+<!--
+ ~ 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.
+ -->
+<process name="HelloWorld"
+ targetNamespace="http://tuscany.apache.org/implementation/bpel/example/helloworld"
+ xmlns="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
+ xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
+ xmlns:tns="http://tuscany.apache.org/implementation/bpel/example/helloworld"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:test="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl"
+ queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
+ expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
+
+ <import location="helloworld.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"
+ namespace="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl"/>
+
+ <partnerLinks>
+ <partnerLink name="helloPartnerLink" partnerLinkType="test:HelloPartnerLinkType" myRole="me" />
+ </partnerLinks>
+
+ <variables>
+ <variable name="helloMessage" messageType="test:HelloMessage"/>
+ <variable name="tmpVar" type="xsd:string"/>
+ </variables>
+
+ <sequence>
+ <receive
+ name="start"
+ partnerLink="helloPartnerLink"
+ portType="test:HelloPortType"
+ operation="hello"
+ variable="helloMessage"
+ createInstance="yes"/>
+
+ <assign name="assign1">
+ <copy>
+ <from variable="helloMessage" part="TestPart"/>
+ <to variable="tmpVar"/>
+ </copy>
+ <copy>
+ <from>concat($tmpVar,' World')</from>
+ <to variable="helloMessage" part="TestPart"/>
+ </copy>
+ </assign>
+ <reply name="end"
+ partnerLink="helloPartnerLink"
+ portType="test:HelloPortType"
+ operation="hello"
+ variable="helloMessage"/>
+ </sequence>
+</process>
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/helloworld.componentType b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/helloworld.componentType
new file mode 100644
index 0000000000..121064a475
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/helloworld.componentType
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ * 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.
+-->
+<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <service name="HelloService">
+ <interface.wsdl interface="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl#wsdl.interface(HelloPortType)" />
+ </service>
+
+</componentType>
+ \ No newline at end of file
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/helloworld.composite b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/helloworld.composite
new file mode 100644
index 0000000000..3593448c6c
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/helloworld.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"
+ targetNamespace="http://bpel"
+ xmlns:hns="http://tuscany.apache.org/implementation/bpel/example/helloworld"
+ name="helloworld">
+
+ <component name="BPELHelloWorldComponent">
+ <implementation.bpel process="hns:HelloWorld"/>
+ </component>
+
+</composite>
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/helloworld.wsdl b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/helloworld.wsdl
new file mode 100644
index 0000000000..1d71727b2d
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/helloworld/helloworld.wsdl
@@ -0,0 +1,82 @@
+<?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 name="helloworld"
+ targetNamespace="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:tns="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
+ xmlns:plnk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/">
+
+ <wsdl:types>
+ <schema elementFormDefault="qualified"
+ targetNamespace="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl"
+ xmlns="http://www.w3.org/2001/XMLSchema">
+
+ <element name="hello">
+ <complexType>
+ <sequence>
+ <element name="message" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="HelloMessage">
+ <wsdl:part element="tns:hello" name="TestPart"/>
+ </wsdl:message>
+
+ <wsdl:portType name="HelloPortType">
+ <wsdl:operation name="hello">
+ <wsdl:input message="tns:HelloMessage" name="TestIn"/>
+ <wsdl:output message="tns:HelloMessage" name="TestOut"/>
+ </wsdl:operation>
+ </wsdl:portType>
+
+
+ <wsdl:binding name="HelloSoapBinding" type="tns:HelloPortType">
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="hello">
+ <wsdlsoap:operation soapAction=""/>
+ <wsdl:input name="TestIn">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="TestOut">
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="HelloService">
+ <wsdl:port name="HelloPort" binding="tns:HelloSoapBinding">
+ <soap:address location="http://localhost:8085/ode/processes/helloWorld"/>
+ </wsdl:port>
+ </wsdl:service>
+
+ <plnk:partnerLinkType name="HelloPartnerLinkType">
+ <plnk:role name="me" portType="tns:HelloPortType"/>
+ <plnk:role name="you" portType="tns:HelloPortType"/>
+ </plnk:partnerLinkType>
+</wsdl:definitions> \ No newline at end of file
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/log4j.properties b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/log4j.properties
new file mode 100644
index 0000000000..01bf8d8bf5
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/log4j.properties
@@ -0,0 +1,33 @@
+#
+# 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.
+#
+
+# Set root logger level to WARN and its only appender to CONSOLE
+log4j.rootLogger=OFF, CONSOLE
+
+# log4j properties to work with commandline tools.
+log4j.category.org.mortbay=OFF
+log4j.category.org.hibernate.type=OFF
+log4j.category.org.objectweb=OFF
+log4j.category.org.apache.ode.axis2=OFF
+log4j.category.org.apache.ode.bpel.engine=OFF
+log4j.category.org.apache.ode.daohib.bpel.CorrelatorDaoImpl=OFF
+log4j.category.org.apache.ode.bpel.epr=OFF
+
+# Console appender
+log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
+log4j.appender.CONSOLE.layout.ConversionPattern=%p - %C{1}.%M(%L) | %m%n
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping-pong/ping-pong.componentType b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping-pong/ping-pong.componentType
new file mode 100644
index 0000000000..e4cbdfe89c
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping-pong/ping-pong.componentType
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ * 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.
+-->
+<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <service name="PingService">
+ <interface.wsdl interface="http://tuscany.apache.org/implementation/bpel/example/ping.wsdl#wsdl.interface(PingPortType)" />
+ </service>
+
+ <service name="PongService">
+ <interface.wsdl interface="http://tuscany.apache.org/implementation/bpel/example/pong.wsdl#wsdl.interface(PongPortType)" />
+ </service>
+
+ <reference name="Pong">
+ <interface.wsdl interface="http://tuscany.apache.org/implementation/bpel/example/pong.wsdl#wsdl.interface(PongPortType)" />
+ </reference>
+</componentType> \ No newline at end of file
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping-pong/ping-pong.composite b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping-pong/ping-pong.composite
new file mode 100644
index 0000000000..a0eb4d0b5b
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping-pong/ping-pong.composite
@@ -0,0 +1,36 @@
+<?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"
+ targetNamespace="http://bpel"
+ xmlns:ping="http://tuscany.apache.org/implementation/bpel/example/ping.bpel"
+ xmlns:pong="http://tuscany.apache.org/implementation/bpel/example/pong.bpel"
+ name="ping">
+
+ <component name="BPELPingPong-PingComponent">
+ <implementation.bpel process="ping:Ping"/>
+ <reference name="Pong" target="BPELPingPong-PongComponent/PongService"/>
+ </component>
+
+ <component name="BPELPingPong-PongComponent">
+ <implementation.bpel process="pong:Pong"/>
+ </component>
+
+</composite> \ No newline at end of file
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/deploy.xml b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/deploy.xml
new file mode 100644
index 0000000000..613ed9c491
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/deploy.xml
@@ -0,0 +1,35 @@
+<?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.
+ -->
+<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
+ xmlns:process="http://tuscany.apache.org/implementation/bpel/example/ping.bpel"
+ xmlns:ping="http://tuscany.apache.org/implementation/bpel/example/ping.wsdl"
+ xmlns:pong="http://tuscany.apache.org/implementation/bpel/example/pong.wsdl">
+
+ <process name="process:Ping">
+ <active>true</active>
+ <provide partnerLink="PingPartnerLink">
+ <service name="ping:PingService" port="PingPort"/>
+ </provide>
+ <invoke partnerLink="PongPartnerLink">
+ <service name="pong:PongService" port="PongPort"/>
+ </invoke>
+ </process>
+
+</deploy>
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/ping.bpel b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/ping.bpel
new file mode 100644
index 0000000000..abda9e58d2
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/ping.bpel
@@ -0,0 +1,124 @@
+<?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.
+ -->
+<process
+ name="Ping"
+ xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+ targetNamespace="http://tuscany.apache.org/implementation/bpel/example/ping.bpel"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:tns="http://tuscany.apache.org/implementation/bpel/example/ping.bpel"
+ xmlns:ping="http://tuscany.apache.org/implementation/bpel/example/ping.wsdl"
+ xmlns:pong="http://tuscany.apache.org/implementation/bpel/example/pong.wsdl"
+ expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0">
+
+ <import location="ping.wsdl"
+ namespace="http://tuscany.apache.org/implementation/bpel/example/ping.wsdl"
+ importType="http://schemas.xmlsoap.org/wsdl/" />
+
+ <import location="pong.wsdl"
+ namespace="http://tuscany.apache.org/implementation/bpel/example/pong.wsdl"
+ importType="http://schemas.xmlsoap.org/wsdl/" />
+
+ <partnerLinks>
+ <partnerLink name="PingPartnerLink"
+ partnerLinkType="ping:PingPartnerLinkType"
+ myRole="Provider" />
+ <partnerLink name="PongPartnerLink"
+ partnerLinkType="pong:PongPartnerLinkType"
+ partnerRole="Provider"
+ initializePartnerRole="yes" />
+ </partnerLinks>
+
+ <variables>
+ <variable messageType="ping:PingRequest" name="pingRequest"/>
+ <variable messageType="ping:PingResponse" name="pingResponse"/>
+ <variable messageType="pong:PongRequest" name="pongRequest"/>
+ <variable messageType="pong:PongResponse" name="pongResponse"/>
+ <variable type="xsd:string" name="text" />
+ </variables>
+
+ <sequence name="Main">
+ <receive name="pingReceive"
+ createInstance="yes"
+ operation="Ping"
+ partnerLink="PingPartnerLink"
+ portType="ping:PingPortType"
+ variable="pingRequest"/>
+
+ <assign name="assignPongRequest">
+ <!-- add "ping" text to the input text -->
+ <copy>
+ <from>concat($pingRequest.body/ping:text, ' ping')</from>
+ <to variable="text"/>
+ </copy>
+ <!-- initialize pongRequest -->
+ <copy>
+ <from>
+ <literal>
+ <pong:PongRequest>
+ <pong:text/>
+ </pong:PongRequest>
+ </literal>
+ </from>
+ <to>$pongRequest.body</to>
+ </copy>
+ <!-- copy new text into pongRequest -->
+ <copy>
+ <from>$text</from>
+ <to>$pongRequest.body/pong:text</to>
+ </copy>
+ </assign>
+
+ <invoke name="invokePong"
+ operation="Pong"
+ inputVariable="pongRequest"
+ outputVariable="pongResponse"
+ partnerLink="PongPartnerLink"
+ portType="pong:PongPortType"/>
+
+ <assign name="assignPingResponse">
+ <copy>
+ <from>$pongResponse.body/pong:text</from>
+ <to>$text</to>
+ </copy>
+ <!-- initialize pingResponse -->
+ <copy>
+ <from>
+ <literal>
+ <ping:PingResponse>
+ <ping:text/>
+ </ping:PingResponse>
+ </literal>
+ </from>
+ <to>$pingResponse.body</to>
+ </copy>
+ <!-- copy new text into pingResponse -->
+ <copy>
+ <from>$text</from>
+ <to>$pingResponse.body/ping:text</to>
+ </copy>
+ </assign>
+
+ <reply name="pingReply"
+ partnerLink="PingPartnerLink"
+ portType="ping:PingPortType"
+ operation="Ping"
+ variable="pingResponse"/>
+ </sequence>
+</process>
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/ping.componentType b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/ping.componentType
new file mode 100644
index 0000000000..7598a99d16
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/ping.componentType
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ * 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.
+-->
+<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <reference name="Pong">
+ <interface.wsdl interface="http://tuscany.apache.org/implementation/bpel/example/pong.wsdl#wsdl.interface(PongPortType)" />
+ </reference>
+
+ <service name="PingService">
+ <interface.wsdl interface="http://tuscany.apache.org/implementation/bpel/example/ping.wsdl#wsdl.interface(PingPortType)" />
+ </service>
+
+ <service name="PongService">
+ <interface.wsdl interface="http://tuscany.apache.org/implementation/bpel/example/pong.wsdl#wsdl.interface(PongPortType)" />
+ </service>
+</componentType> \ No newline at end of file
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/ping.composite b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/ping.composite
new file mode 100644
index 0000000000..75eed03022
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/ping.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"
+ targetNamespace="http://bpel"
+ xmlns:ping="http://tuscany.apache.org/implementation/bpel/example/ping.bpel"
+ name="ping">
+
+ <component name="BPELPingComponent">
+ <implementation.bpel process="ping:Ping"/>
+ </component>
+</composite> \ No newline at end of file
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/ping.wsdl b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/ping.wsdl
new file mode 100644
index 0000000000..03e54c4de8
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/ping.wsdl
@@ -0,0 +1,84 @@
+<?xml version="1.0"?>
+<!--
+ ~ 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.
+ -->
+<definitions name="Ping"
+ targetNamespace="http://tuscany.apache.org/implementation/bpel/example/ping.wsdl"
+ xmlns:tns="http://tuscany.apache.org/implementation/bpel/example/ping.wsdl"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema targetNamespace="http://tuscany.apache.org/implementation/bpel/example/ping.wsdl"
+ xmlns="http://www.w3.org/2001/XMLSchema">
+ <element name="PingRequest">
+ <complexType>
+ <all>
+ <element name="text" type="string"/>
+ </all>
+ </complexType>
+ </element>
+ <element name="PingResponse">
+ <complexType>
+ <all>
+ <element name="text" type="string"/>
+ </all>
+ </complexType>
+ </element>
+ </schema>
+ </types>
+
+ <message name="PingRequest">
+ <part name="body" element="tns:PingRequest"/>
+ </message>
+
+ <message name="PingResponse">
+ <part name="body" element="tns:PingResponse"/>
+ </message>
+
+ <portType name="PingPortType">
+ <operation name="Ping">
+ <input message="tns:PingRequest"/>
+ <output message="tns:PingResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="PingSoapBinding" type="tns:PingPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="Ping">
+ <soap:operation soapAction="" />
+ <input name="PingRequest">
+ <soap:body use="literal" />
+ </input>
+ <output name="PingResponse">
+ <soap:body use="literal" />
+ </output>
+ </operation>
+ </binding>
+
+ <service name="PingService">
+ <port name="PingPort" binding="tns:PingSoapBinding">
+ <soap:address location="http://localhost:8085/ode/processes/ping" />
+ </port>
+ </service>
+
+ <plnk:partnerLinkType name="PingPartnerLinkType">
+ <plnk:role name="Provider" portType="tns:PingPortType"/>
+ </plnk:partnerLinkType>
+</definitions> \ No newline at end of file
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/pong.wsdl b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/pong.wsdl
new file mode 100644
index 0000000000..1f4c4a9aaa
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/ping/pong.wsdl
@@ -0,0 +1,84 @@
+<?xml version="1.0"?>
+<!--
+ ~ 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.
+ -->
+<definitions name="Pong"
+ targetNamespace="http://tuscany.apache.org/implementation/bpel/example/pong.wsdl"
+ xmlns:tns="http://tuscany.apache.org/implementation/bpel/example/pong.wsdl"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema targetNamespace="http://tuscany.apache.org/implementation/bpel/example/pong.wsdl"
+ xmlns="http://www.w3.org/2001/XMLSchema">
+ <element name="PongRequest">
+ <complexType>
+ <all>
+ <element name="text" type="string"/>
+ </all>
+ </complexType>
+ </element>
+ <element name="PongResponse">
+ <complexType>
+ <all>
+ <element name="text" type="string"/>
+ </all>
+ </complexType>
+ </element>
+ </schema>
+ </types>
+
+ <message name="PongRequest">
+ <part name="body" element="tns:PongRequest"/>
+ </message>
+
+ <message name="PongResponse">
+ <part name="body" element="tns:PongResponse"/>
+ </message>
+
+ <portType name="PongPortType">
+ <operation name="Pong">
+ <input message="tns:PongRequest"/>
+ <output message="tns:PongResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="PongSoapBinding" type="tns:PongPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="Pong">
+ <soap:operation soapAction=""/>
+ <input name="PongRequest">
+ <soap:body use="literal"/>
+ </input>
+ <output name="PongResponse">
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+
+ <service name="PongService">
+ <port name="PongPort" binding="tns:PongSoapBinding">
+ <soap:address location="http://localhost:8085/ode/processes/pong"/>
+ </port>
+ </service>
+
+ <plnk:partnerLinkType name="PongPartnerLinkType">
+ <plnk:role name="Provider" portType="tns:PongPortType"/>
+ </plnk:partnerLinkType>
+</definitions>
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/deploy.xml b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/deploy.xml
new file mode 100644
index 0000000000..1315ef47f0
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/deploy.xml
@@ -0,0 +1,31 @@
+<?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.
+ -->
+<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
+ xmlns:process="http://tuscany.apache.org/implementation/bpel/example/pong.bpel"
+ xmlns:pong="http://tuscany.apache.org/implementation/bpel/example/pong.wsdl">
+
+ <process name="process:Pong">
+ <active>true</active>
+ <provide partnerLink="PongPartnerLink">
+ <service name="pong:PongService" port="PongPort"/>
+ </provide>
+ </process>
+
+</deploy>
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/pong.bpel b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/pong.bpel
new file mode 100644
index 0000000000..b5d84898c7
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/pong.bpel
@@ -0,0 +1,84 @@
+<?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.
+ -->
+<process
+ name="Pong"
+ xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+ targetNamespace="http://tuscany.apache.org/implementation/bpel/example/pong.bpel"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:tns="http://tuscany.apache.org/implementation/bpel/example/pong.bpel"
+ xmlns:pong="http://tuscany.apache.org/implementation/bpel/example/pong.wsdl"
+ expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
+
+ <import location="pong.wsdl"
+ namespace="http://tuscany.apache.org/implementation/bpel/example/pong.wsdl"
+ importType="http://schemas.xmlsoap.org/wsdl/" />
+
+
+ <partnerLinks>
+ <partnerLink name="PongPartnerLink"
+ partnerLinkType="pong:PongPartnerLinkType"
+ myRole="Provider" />
+ </partnerLinks>
+
+ <variables>
+ <variable messageType="pong:PongRequest" name="pongRequest"/>
+ <variable messageType="pong:PongResponse" name="pongResponse"/>
+ <variable type="xsd:string" name="text" />
+ </variables>
+
+ <sequence name="Main">
+ <receive name="pongReceive"
+ createInstance="yes"
+ operation="Pong"
+ partnerLink="PongPartnerLink"
+ portType="pong:PongPortType"
+ variable="pongRequest"/>
+
+ <assign name="assignPongRequest">
+ <!-- add "ping" text to the input text -->
+ <copy>
+ <from>concat($pongRequest.body/pong:text, ' pong')</from>
+ <to>$text</to>
+ </copy>
+ <!-- initialize pongResponse -->
+ <copy>
+ <from>
+ <literal>
+ <pong:PongRequest>
+ <pong:text/>
+ </pong:PongRequest>
+ </literal>
+ </from>
+ <to>$pongResponse.body</to>
+ </copy>
+ <!-- copy new text into pongResponse -->
+ <copy>
+ <from>$text</from>
+ <to>$pongResponse.body/pong:text</to>
+ </copy>
+ </assign>
+
+ <reply name="pongReply"
+ partnerLink="PongPartnerLink"
+ portType="pong:PongPortType"
+ operation="Pong"
+ variable="pongResponse"/>
+ </sequence>
+</process>
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/pong.componentType b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/pong.componentType
new file mode 100644
index 0000000000..2f8fd5d3de
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/pong.componentType
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ * 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.
+-->
+<componentType xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <service name="PongService">
+ <interface.wsdl interface="http://tuscany.apache.org/implementation/bpel/example/pong.wsdl#wsdl.interface(PongPortType)" />
+ </service>
+
+</componentType> \ No newline at end of file
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/pong.composite b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/pong.composite
new file mode 100644
index 0000000000..e40ce7ee45
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/pong.composite
@@ -0,0 +1,30 @@
+<?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"
+ targetNamespace="http://bpel"
+ xmlns:pong="http://tuscany.apache.org/implementation/bpel/example/pong.bpel"
+ name="pong">
+
+ <component name="BPELPongComponent">
+ <implementation.bpel process="pong:Pong"/>
+ </component>
+
+</composite> \ No newline at end of file
diff --git a/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/pong.wsdl b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/pong.wsdl
new file mode 100644
index 0000000000..21ee8b82f6
--- /dev/null
+++ b/branches/sca-java-1.1/modules/implementation-bpel/src/test/resources/pong/pong.wsdl
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<!--
+ ~ 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.
+ -->
+<definitions name="Pong"
+ targetNamespace="http://tuscany.apache.org/implementation/bpel/example/pong.wsdl"
+ xmlns:tns="http://tuscany.apache.org/implementation/bpel/example/pong.wsdl"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema targetNamespace="http://tuscany.apache.org/implementation/bpel/example/pong.wsdl"
+ xmlns="http://www.w3.org/2001/XMLSchema">
+ <element name="PongRequest">
+ <complexType>
+ <all>
+ <element name="text" type="string"/>
+ </all>
+ </complexType>
+ </element>
+ <element name="PongResponse">
+ <complexType>
+ <all>
+ <element name="text" type="string"/>
+ </all>
+ </complexType>
+ </element>
+ </schema>
+ </types>
+
+ <message name="PongRequest">
+ <part name="body" element="tns:PongRequest"/>
+ </message>
+
+ <message name="PongResponse">
+ <part name="body" element="tns:PongResponse"/>
+ </message>
+
+ <portType name="PongPortType">
+ <operation name="Pong">
+ <input message="tns:PongRequest"/>
+ <output message="tns:PongResponse"/>
+ </operation>
+ </portType>
+
+ <binding name="PongSoapBinding" type="tns:PongPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="Pong">
+ <soap:operation soapAction=""/>
+ <input name="PongRequest">
+ <soap:body use="literal"/>
+ </input>
+ <output name="PongResponse">
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+
+ <service name="PongService">
+ <port name="PongPort" binding="tns:PongSoapBinding">
+ <soap:address location="http://localhost:8085/ode/processes/pong"/>
+ </port>
+ </service>
+
+ <plnk:partnerLinkType name="PongPartnerLinkType">
+ <plnk:role name="Provider" portType="tns:PongPortType"/>
+ </plnk:partnerLinkType>
+
+ <!--
+
+ This is an abstract interface/portType definition. Note the lack of
+ binding and service. Since Pong is only exposed on the JBI bus, the
+ JBI endpoint is defined in Pong.dd.
+
+ -->
+
+</definitions>