summaryrefslogtreecommitdiffstats
path: root/sandbox/sebastien/java/sca-node/itest/wsdlless/src
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/sebastien/java/sca-node/itest/wsdlless/src')
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountDataService.java95
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountDataServiceImpl.java91
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountServiceClientImpl.java77
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component2aImpl.java77
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component2bImpl.java77
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component3aImpl.java77
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component3bImpl.java77
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/CustomerIdService.java98
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/helloworld/HelloWorldImpl.java44
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/helloworld/HelloWorldService.java31
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/helloworld/HelloWorldServiceComponent.java47
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component2aImpl.java43
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component2bImpl.java42
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component3aImpl.java42
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component3bImpl.java43
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/SDOWSDLTest.composite321
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/WSDLTest.composite350
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/wsdl/AccountService.wsdl453
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/wsdl/helloworld.wsdl131
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/test/java/org/apache/tuscany/sca/itest/SDOWSDLTestCase.java173
-rw-r--r--sandbox/sebastien/java/sca-node/itest/wsdlless/src/test/java/org/apache/tuscany/sca/itest/WSDLTestCase.java150
21 files changed, 2539 insertions, 0 deletions
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountDataService.java b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountDataService.java
new file mode 100644
index 0000000000..5886ebc6ff
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountDataService.java
@@ -0,0 +1,95 @@
+/*
+ * 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 bigbank.account.services.accountdata;
+
+import javax.jws.WebService;
+import javax.xml.ws.ResponseWrapper;
+import org.osoa.sca.annotations.AllowsPassByReference;
+import org.osoa.sca.annotations.Remotable;
+
+@Remotable
+@AllowsPassByReference
+@WebService(targetNamespace="http://www.bigbank.com/account")
+public interface AccountDataService {
+
+ /**
+ * Auto generated method signatures
+ *
+ * @param param0*
+ * @param param1*
+ * @param param2
+ */
+ public com.bigbank.account.StockSummary purchaseStock(int param0, com.bigbank.account.StockSummary parm1);
+
+ /**
+ * Auto generated method signatures
+ *
+ * @param param4
+ */
+ public com.bigbank.account.CustomerProfileData getCustomerProfile(java.lang.String param4);
+
+ /**
+ * Auto generated method signatures
+ *
+ * @param param6*
+ * @param param7
+ */
+ public float deposit(java.lang.String param6, float param7);
+
+ /**
+ * Auto generated method signatures
+ *
+ * @param param9*
+ * @param param10*
+ * @param param11
+ */
+ public com.bigbank.account.CustomerProfileData createAccount(com.bigbank.account.CustomerProfileData param9, boolean param10, boolean param11);
+
+ /**
+ * Auto generated method signatures
+ *
+ * @param param13*
+ * @param param14
+ */
+ @ResponseWrapper(localName="purchaseStockResponse")
+ public com.bigbank.account.StockSummary sellStock(int param13, int param14);
+
+ /**
+ * Auto generated method signatures
+ *
+ * @param param16*
+ * @param param17
+ */
+ public float withdraw(java.lang.String param16, float param17);
+
+ /**
+ * Auto generated method signatures
+ *
+ * @param param19
+ */
+ public com.bigbank.account.AccountReport getAccountReport(int param19);
+
+ /**
+ * Auto generated method signatures
+ *
+ * @param param0
+ */
+ public com.bigbank.account.AccountLog getAccountLog(int param0);
+
+}
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountDataServiceImpl.java b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountDataServiceImpl.java
new file mode 100644
index 0000000000..df658428fd
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountDataServiceImpl.java
@@ -0,0 +1,91 @@
+/*
+ * 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 bigbank.account.services.accountdata;
+
+import org.osoa.sca.annotations.Service;
+
+import com.bigbank.account.AccountFactory;
+import com.bigbank.account.AccountLog;
+import com.bigbank.account.AccountReport;
+import com.bigbank.account.AccountSummary;
+import com.bigbank.account.CustomerProfileData;
+import com.bigbank.account.StockSummary;
+
+@Service(AccountDataService.class)
+public class AccountDataServiceImpl implements AccountDataService {
+
+ public CustomerProfileData getCustomerProfile(String logonID) {
+
+ return null;
+ }
+
+ public AccountReport getAccountReport(int customerID) {
+
+ AccountReport report =AccountFactory.INSTANCE.createAccountReport();
+ AccountSummary summary1 = AccountFactory.INSTANCE.createAccountSummary();
+ summary1.setAccountNumber("123");
+ summary1.setAccountType("checking");
+ summary1.setBalance(1000.0f);
+ report.getAccountSummaries().add(summary1);
+ AccountSummary summary2 = AccountFactory.INSTANCE.createAccountSummary();
+ summary2.setAccountNumber("456");
+ summary2.setAccountType("savings");
+ summary2.setBalance(2000.0f);
+ report.getAccountSummaries().add(summary2);
+
+ return report;
+ }
+
+ public CustomerProfileData createAccount(CustomerProfileData customerProfile, boolean createSavings, boolean createCheckings)
+ {
+ CustomerProfileData data = AccountFactory.INSTANCE.createCustomerProfileData();
+ data.setLoginID(customerProfile.getLoginID());
+ data.setAddress(customerProfile.getAddress());
+ data.setEmail(customerProfile.getEmail());
+ data.setFirstName(customerProfile.getFirstName());
+ data.setId(customerProfile.getId());
+ data.setLastName(customerProfile.getLastName());
+ data.setPassword(customerProfile.getPassword());
+ return data;
+ }
+
+ public float deposit(String param6, float param7) {
+
+ return 0;
+ }
+
+ public StockSummary purchaseStock(int param0, StockSummary stock) {
+
+ return null;
+ }
+
+ public StockSummary sellStock(int param13, int param14) {
+
+ return null;
+ }
+
+ public float withdraw(String param16, float param17) {
+
+ return 0;
+ }
+
+ public AccountLog getAccountLog(final int customerID) {
+ throw new IllegalStateException("This method should not be called");
+ }
+}
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountServiceClientImpl.java b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountServiceClientImpl.java
new file mode 100644
index 0000000000..d39df8c00e
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/AccountServiceClientImpl.java
@@ -0,0 +1,77 @@
+/*
+ * 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 bigbank.account.services.accountdata;
+
+import org.osoa.sca.annotations.Reference;
+
+import com.bigbank.account.AccountLog;
+import com.bigbank.account.AccountReport;
+import com.bigbank.account.CustomerProfileData;
+import com.bigbank.account.StockSummary;
+
+public class AccountServiceClientImpl implements AccountDataService {
+
+ AccountDataService accountService;
+
+ @Reference
+ public void setAccountService(AccountDataService accountService) {
+ this.accountService = accountService;
+ }
+
+ public CustomerProfileData createAccount(CustomerProfileData param9, boolean param10, boolean param11) {
+ return accountService.createAccount(param9, param10, param11);
+ }
+
+ public float deposit(String param6, float param7) {
+
+ return 0;
+ }
+
+ public AccountLog getAccountLog(int param0) {
+
+ return null;
+ }
+
+ public AccountReport getAccountReport(int param19) {
+
+ return accountService.getAccountReport(param19);
+ }
+
+ public CustomerProfileData getCustomerProfile(String param4) {
+
+ return null;
+ }
+
+ public StockSummary purchaseStock(int param0, StockSummary parm1) {
+
+ return null;
+ }
+
+ public StockSummary sellStock(int param13, int param14) {
+
+ return null;
+ }
+
+ public float withdraw(String param16, float param17) {
+
+ return 0;
+ }
+
+}
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component2aImpl.java b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component2aImpl.java
new file mode 100644
index 0000000000..d4a06780c3
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component2aImpl.java
@@ -0,0 +1,77 @@
+/*
+ * 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 bigbank.account.services.accountdata;
+
+import org.osoa.sca.annotations.Reference;
+
+import com.bigbank.account.AccountLog;
+import com.bigbank.account.AccountReport;
+import com.bigbank.account.CustomerProfileData;
+import com.bigbank.account.StockSummary;
+
+public class Component2aImpl implements AccountDataService {
+
+ AccountDataService accountService;
+
+ @Reference
+ public void setAccountService(AccountDataService accountService) {
+ this.accountService = accountService;
+ }
+
+ public CustomerProfileData createAccount(CustomerProfileData param9, boolean param10, boolean param11) {
+ return accountService.createAccount(param9, param10, param11);
+ }
+
+ public float deposit(String param6, float param7) {
+
+ return 0;
+ }
+
+ public AccountLog getAccountLog(int param0) {
+
+ return null;
+ }
+
+ public AccountReport getAccountReport(int param19) {
+
+ return accountService.getAccountReport(param19);
+ }
+
+ public CustomerProfileData getCustomerProfile(String param4) {
+
+ return null;
+ }
+
+ public StockSummary purchaseStock(int param0, StockSummary parm1) {
+
+ return null;
+ }
+
+ public StockSummary sellStock(int param13, int param14) {
+
+ return null;
+ }
+
+ public float withdraw(String param16, float param17) {
+
+ return 0;
+ }
+
+}
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component2bImpl.java b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component2bImpl.java
new file mode 100644
index 0000000000..6dc46c60b5
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component2bImpl.java
@@ -0,0 +1,77 @@
+/*
+ * 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 bigbank.account.services.accountdata;
+
+import org.osoa.sca.annotations.Reference;
+
+import com.bigbank.account.AccountLog;
+import com.bigbank.account.AccountReport;
+import com.bigbank.account.CustomerProfileData;
+import com.bigbank.account.StockSummary;
+
+public class Component2bImpl implements AccountDataService {
+
+ AccountDataService accountService;
+
+ @Reference
+ public void setAccountService(AccountDataService accountService) {
+ this.accountService = accountService;
+ }
+
+ public CustomerProfileData createAccount(CustomerProfileData param9, boolean param10, boolean param11) {
+ return accountService.createAccount(param9, param10, param11);
+ }
+
+ public float deposit(String param6, float param7) {
+
+ return 0;
+ }
+
+ public AccountLog getAccountLog(int param0) {
+
+ return null;
+ }
+
+ public AccountReport getAccountReport(int param19) {
+
+ return accountService.getAccountReport(param19);
+ }
+
+ public CustomerProfileData getCustomerProfile(String param4) {
+
+ return null;
+ }
+
+ public StockSummary purchaseStock(int param0, StockSummary parm1) {
+
+ return null;
+ }
+
+ public StockSummary sellStock(int param13, int param14) {
+
+ return null;
+ }
+
+ public float withdraw(String param16, float param17) {
+
+ return 0;
+ }
+
+}
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component3aImpl.java b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component3aImpl.java
new file mode 100644
index 0000000000..8471000152
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component3aImpl.java
@@ -0,0 +1,77 @@
+/*
+ * 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 bigbank.account.services.accountdata;
+
+import org.osoa.sca.annotations.Reference;
+
+import com.bigbank.account.AccountLog;
+import com.bigbank.account.AccountReport;
+import com.bigbank.account.CustomerProfileData;
+import com.bigbank.account.StockSummary;
+
+public class Component3aImpl implements AccountDataService {
+
+ AccountDataService accountService;
+
+ @Reference
+ public void setAccountService(AccountDataService accountService) {
+ this.accountService = accountService;
+ }
+
+ public CustomerProfileData createAccount(CustomerProfileData param9, boolean param10, boolean param11) {
+ return accountService.createAccount(param9, param10, param11);
+ }
+
+ public float deposit(String param6, float param7) {
+
+ return 0;
+ }
+
+ public AccountLog getAccountLog(int param0) {
+
+ return null;
+ }
+
+ public AccountReport getAccountReport(int param19) {
+
+ return accountService.getAccountReport(param19);
+ }
+
+ public CustomerProfileData getCustomerProfile(String param4) {
+
+ return null;
+ }
+
+ public StockSummary purchaseStock(int param0, StockSummary parm1) {
+
+ return null;
+ }
+
+ public StockSummary sellStock(int param13, int param14) {
+
+ return null;
+ }
+
+ public float withdraw(String param16, float param17) {
+
+ return 0;
+ }
+
+}
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component3bImpl.java b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component3bImpl.java
new file mode 100644
index 0000000000..859c61a724
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/Component3bImpl.java
@@ -0,0 +1,77 @@
+/*
+ * 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 bigbank.account.services.accountdata;
+
+import org.osoa.sca.annotations.Reference;
+
+import com.bigbank.account.AccountLog;
+import com.bigbank.account.AccountReport;
+import com.bigbank.account.CustomerProfileData;
+import com.bigbank.account.StockSummary;
+
+public class Component3bImpl implements AccountDataService {
+
+ AccountDataService accountService;
+
+ @Reference
+ public void setAccountService(AccountDataService accountService) {
+ this.accountService = accountService;
+ }
+
+ public CustomerProfileData createAccount(CustomerProfileData param9, boolean param10, boolean param11) {
+ return accountService.createAccount(param9, param10, param11);
+ }
+
+ public float deposit(String param6, float param7) {
+
+ return 0;
+ }
+
+ public AccountLog getAccountLog(int param0) {
+
+ return null;
+ }
+
+ public AccountReport getAccountReport(int param19) {
+
+ return accountService.getAccountReport(param19);
+ }
+
+ public CustomerProfileData getCustomerProfile(String param4) {
+
+ return null;
+ }
+
+ public StockSummary purchaseStock(int param0, StockSummary parm1) {
+
+ return null;
+ }
+
+ public StockSummary sellStock(int param13, int param14) {
+
+ return null;
+ }
+
+ public float withdraw(String param16, float param17) {
+
+ return 0;
+ }
+
+}
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/CustomerIdService.java b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/CustomerIdService.java
new file mode 100644
index 0000000000..e747eb041f
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/bigbank/account/services/accountdata/CustomerIdService.java
@@ -0,0 +1,98 @@
+/*
+ * 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 bigbank.account.services.accountdata;
+
+import java.rmi.RemoteException;
+
+/**
+ * This interface allows access to a customer's id from the data service.
+ */
+public interface CustomerIdService {
+
+ /*
+ * Return -1 if purchaseLotNumber not found
+ */
+ public int getCustomerIdByPurchaseLotNumber(int purchaseLotNumber) throws RemoteException;
+
+ /*
+ * Return -1 if account not found
+ */
+ public int getCustomerIdByAccount(String account) throws RemoteException;
+
+ // TODO (isilval) Fix this !!!
+ // Apparently, configuration can't deal with extends so I am adding the contents of AccountDataService here
+
+ /**
+ * Auto generated method signatures
+ *
+ * @param param0*
+ * @param param1*
+ * @param param2
+ */
+ public com.bigbank.account.StockSummary purchaseStock(int param0, com.bigbank.account.StockSummary parm1) throws java.rmi.RemoteException;
+
+ /**
+ * Auto generated method signatures
+ *
+ * @param param4
+ */
+ public com.bigbank.account.CustomerProfileData getCustomerProfile(java.lang.String param4) throws java.rmi.RemoteException;
+
+ /**
+ * Auto generated method signatures
+ *
+ * @param param6*
+ * @param param7
+ */
+ public float deposit(java.lang.String param6, float param7) throws java.rmi.RemoteException;
+
+ /**
+ * Auto generated method signatures
+ *
+ * @param param9*
+ * @param param10*
+ * @param param11
+ */
+ public com.bigbank.account.CustomerProfileData createAccount(com.bigbank.account.CustomerProfileData param9, boolean param10, boolean param11)
+ throws java.rmi.RemoteException;
+
+ /**
+ * Auto generated method signatures
+ *
+ * @param param13*
+ * @param param14
+ */
+ public com.bigbank.account.StockSummary sellStock(int param13, int param14) throws java.rmi.RemoteException;
+
+ /**
+ * Auto generated method signatures
+ *
+ * @param param16*
+ * @param param17
+ */
+ public float withdraw(java.lang.String param16, float param17) throws java.rmi.RemoteException;
+
+ /**
+ * Auto generated method signatures
+ *
+ * @param param19
+ */
+ public com.bigbank.account.AccountReport getAccountReport(int param19) throws java.rmi.RemoteException;
+
+}
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/helloworld/HelloWorldImpl.java b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/helloworld/HelloWorldImpl.java
new file mode 100644
index 0000000000..ca7c25f3fa
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/helloworld/HelloWorldImpl.java
@@ -0,0 +1,44 @@
+/*
+ * 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 helloworld;
+
+import org.osoa.sca.annotations.Service;
+
+/**
+ * This class implements the HelloWorld service.
+ */
+@Service(HelloWorldService.class)
+public class HelloWorldImpl implements HelloWorldService {
+
+ public String getGreetings(String name) {
+ return "Hi " + name;
+ }
+
+ public String[] getMultipleGreetings(String[] names) {
+ if(names==null) {
+ return null;
+ }
+ String[] greetings = new String[names.length];
+ for(int i=0; i<names.length;i++) {
+ greetings[i] = "Hi "+names[i];
+ }
+ return greetings;
+ }
+
+}
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/helloworld/HelloWorldService.java b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/helloworld/HelloWorldService.java
new file mode 100644
index 0000000000..8b234599aa
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/helloworld/HelloWorldService.java
@@ -0,0 +1,31 @@
+/*
+ * 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 helloworld;
+
+import org.osoa.sca.annotations.Remotable;
+
+/**
+ * This is the business interface of the HelloWorld greetings service.
+ */
+@Remotable
+public interface HelloWorldService {
+
+ public String getGreetings(String name);
+ public String[] getMultipleGreetings(String[] names);
+}
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/helloworld/HelloWorldServiceComponent.java b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/helloworld/HelloWorldServiceComponent.java
new file mode 100644
index 0000000000..03984f7252
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/helloworld/HelloWorldServiceComponent.java
@@ -0,0 +1,47 @@
+/*
+ * 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 helloworld;
+
+import org.osoa.sca.annotations.Scope;
+
+/**
+ * This client program shows how to create an SCA runtime, start it,
+ * locate the HelloWorld service and invoke it.
+ */
+@Scope("COMPOSITE")
+public class HelloWorldServiceComponent implements HelloWorldService {
+
+ HelloWorldService helloWorldService;
+
+ public String getGreetings(String name) {
+ return helloWorldService.getGreetings(name);
+ }
+
+ public HelloWorldService getHelloWorldService() {
+ return helloWorldService;
+ }
+
+ public void setHelloWorldService(HelloWorldService helloWorldService) {
+ this.helloWorldService = helloWorldService;
+ }
+
+ public String[] getMultipleGreetings(String[] names) {
+ return helloWorldService.getMultipleGreetings(names);
+ }
+} \ No newline at end of file
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component2aImpl.java b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component2aImpl.java
new file mode 100644
index 0000000000..45bb697437
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component2aImpl.java
@@ -0,0 +1,43 @@
+/*
+ * 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.itest;
+
+import helloworld.HelloWorldService;
+
+import org.osoa.sca.annotations.Reference;
+
+public class Component2aImpl implements HelloWorldService {
+
+ private HelloWorldService comp;
+
+ @Reference
+ public void setComp(HelloWorldService comp) {
+ this.comp = comp;
+ }
+ public String getGreetings(String s) {
+ return comp.getGreetings(s);
+ }
+
+ public String[] getMultipleGreetings(String[] names) {
+ return comp.getMultipleGreetings(names);
+ }
+
+
+}
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component2bImpl.java b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component2bImpl.java
new file mode 100644
index 0000000000..9342c8e6ee
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component2bImpl.java
@@ -0,0 +1,42 @@
+/*
+ * 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.itest;
+
+import helloworld.HelloWorldService;
+
+import org.osoa.sca.annotations.Reference;
+
+public class Component2bImpl implements HelloWorldService {
+
+ private HelloWorldService comp;
+
+ @Reference
+ public void setComp(HelloWorldService comp) {
+ this.comp = comp;
+ }
+
+ public String getGreetings(String s) {
+ return comp.getGreetings(s);
+ }
+ public String[] getMultipleGreetings(String[] names) {
+ return comp.getMultipleGreetings(names);
+ }
+
+}
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component3aImpl.java b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component3aImpl.java
new file mode 100644
index 0000000000..6c5ac96b67
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component3aImpl.java
@@ -0,0 +1,42 @@
+/*
+ * 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.itest;
+
+import helloworld.HelloWorldService;
+
+import org.osoa.sca.annotations.Reference;
+
+public class Component3aImpl implements HelloWorldService {
+
+ private HelloWorldService comp;
+
+ @Reference
+ public void setComp(HelloWorldService comp) {
+ this.comp = comp;
+ }
+
+ public String getGreetings(String s) {
+ return comp.getGreetings(s);
+ }
+ public String[] getMultipleGreetings(String[] names) {
+ return comp.getMultipleGreetings(names);
+ }
+
+}
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component3bImpl.java b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component3bImpl.java
new file mode 100644
index 0000000000..ebaf33f568
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/java/org/apache/tuscany/sca/itest/Component3bImpl.java
@@ -0,0 +1,43 @@
+/*
+ * 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.itest;
+
+import helloworld.HelloWorldService;
+
+import org.osoa.sca.annotations.Reference;
+
+public class Component3bImpl implements HelloWorldService {
+
+ private HelloWorldService comp;
+
+ @Reference
+ public void setComp(HelloWorldService comp) {
+ this.comp = comp;
+ }
+
+ public String getGreetings(String s) {
+ return comp.getGreetings(s);
+ }
+
+ public String[] getMultipleGreetings(String[] names) {
+ return comp.getMultipleGreetings(names);
+ }
+
+}
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/SDOWSDLTest.composite b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/SDOWSDLTest.composite
new file mode 100644
index 0000000000..16d3806318
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/SDOWSDLTest.composite
@@ -0,0 +1,321 @@
+<?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" xmlns:wsdli="http://www.w3.org/2006/01/wsdl-instance" name="SDOWSDLTest">
+
+ <service name="AccountService1a2a3a4a" promote="Component2a3a4a">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1a2a3a4a"/>
+ </service>
+ <service name="AccountService1a2a3a4b" promote="Component2a3a4b">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1a2a3a4b"/>
+ </service>
+ <service name="AccountService1a2a3b4a" promote="Component2a3b4a">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1a2a3b4a"/>
+ </service>
+ <service name="AccountService1a2a3b4b" promote="Component2a3b4b">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1a2a3b4b"/>
+ </service>
+ <service name="AccountService1a2b3a4a" promote="Component2b3a4a">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1a2b3a4a"/>
+ </service>
+ <service name="AccountService1a2b3a4b" promote="Component2b3a4b">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1a2b3a4b"/>
+ </service>
+ <service name="AccountService1a2b3b4a" promote="Component2b3b4a">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1a2b3b4a"/>
+ </service>
+ <service name="AccountService1a2b3b4b" promote="Component2b3b4b">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1a2b3b4b"/>
+ </service>
+ <service name="AccountService1b2a3a4a" promote="Component2a3a4a">
+ <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/>
+ <binding.ws uri="http://localhost:8085/AccountService1b2a3a4a"/>
+ </service>
+ <service name="AccountService1b2a3a4b" promote="Component2a3a4b">
+ <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/>
+ <binding.ws uri="http://localhost:8085/AccountService1b2a3a4b"/>
+ </service>
+ <service name="AccountService1b2a3b4a" promote="Component2a3b4a">
+ <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/>
+ <binding.ws uri="http://localhost:8085/AccountService1b2a3b4a"/>
+ </service>
+ <service name="AccountService1b2a3b4b" promote="Component2a3b4b">
+ <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/>
+ <binding.ws uri="http://localhost:8085/AccountService1b2a3b4b"/>
+ </service>
+ <service name="AccountService1b2b3a4a" promote="Component2b3a4a">
+ <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/>
+ <binding.ws uri="http://localhost:8085/AccountService1b2b3a4a"/>
+ </service>
+ <service name="AccountService1b2b3a4b" promote="Component2b3a4b">
+ <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/>
+ <binding.ws uri="http://localhost:8085/AccountService1b2b3a4b"/>
+ </service>
+ <service name="AccountService1b2b3b4a" promote="Component2b3b4a">
+ <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/>
+ <binding.ws uri="http://localhost:8085/AccountService1b2b3b4a"/>
+ </service>
+ <service name="AccountService1b2b3b4b" promote="Component2b3b4b">
+ <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/>
+ <binding.ws uri="http://localhost:8085/AccountService1b2b3b4b"/>
+ </service>
+
+ <component name="Component2a3a4a">
+ <implementation.java class="bigbank.account.services.accountdata.Component2aImpl" />
+ <reference name="accountService" target="Component3a4a"/>
+ </component>
+ <component name="Component2a3a4b">
+ <implementation.java class="bigbank.account.services.accountdata.Component2aImpl" />
+ <reference name="accountService" target="Component3a4b"/>
+ </component>
+ <component name="Component2a3b4a">
+ <implementation.java class="bigbank.account.services.accountdata.Component2aImpl" />
+ <reference name="accountService" target="Component3b4a"/>
+ </component>
+ <component name="Component2a3b4b">
+ <implementation.java class="bigbank.account.services.accountdata.Component2aImpl" />
+ <reference name="accountService" target="Component3b4b"/>
+ </component>
+
+ <component name="Component2b3a4a">
+ <implementation.java class="bigbank.account.services.accountdata.Component2bImpl" />
+ <reference name="accountService" target="Component3a4a"/>
+ </component>
+ <component name="Component2b3a4b">
+ <implementation.java class="bigbank.account.services.accountdata.Component2bImpl" />
+ <reference name="accountService" target="Component3a4b"/>
+ </component>
+ <component name="Component2b3b4a">
+ <implementation.java class="bigbank.account.services.accountdata.Component2bImpl" />
+ <reference name="accountService" target="Component3b4a"/>
+ </component>
+ <component name="Component2b3b4b">
+ <implementation.java class="bigbank.account.services.accountdata.Component2bImpl" />
+ <reference name="accountService" target="Component3b4b"/>
+ </component>
+
+ <component name="Component3a4a">
+ <implementation.java class="bigbank.account.services.accountdata.Component3aImpl" />
+ </component>
+ <reference name="Component3a4aRef" promote="Component3a4a/accountService">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService" />
+ </reference>
+
+ <component name="Component3a4b">
+ <implementation.java class="bigbank.account.services.accountdata.Component3aImpl" />
+ </component>
+ <reference name="Component3a4bRef" promote="Component3a4b/accountService">
+ <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/>
+ <binding.ws uri="http://localhost:8085/AccountService" />
+ </reference>
+
+ <component name="Component3b4a">
+ <implementation.java class="bigbank.account.services.accountdata.Component3bImpl" />
+ </component>
+ <reference name="Component3b4aRef" promote="Component3b4a/accountService">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService" />
+ </reference>
+
+ <component name="Component3b4b">
+ <implementation.java class="bigbank.account.services.accountdata.Component3bImpl" />
+ </component>
+ <reference name="Component3b4bRef" promote="Component3b4b/accountService">
+ <interface.wsdl interface="http://www.bigbank.com/account#wsdl.interface(AccountService)"/>
+ <binding.ws uri="http://localhost:8085/AccountService" />
+ </reference>
+
+ <!-- target service -->
+
+ <service name="AccountService" promote="AccountServiceComponent">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService"/>
+ </service>
+
+ <component name="AccountServiceComponent">
+ <implementation.java class="bigbank.account.services.accountdata.AccountDataServiceImpl" />
+ </component>
+
+ <!-- test client -->
+
+ <component name="AccountServiceClient">
+ <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" />
+ </component>
+
+ <reference name="AccountServiceRef" promote="AccountServiceClient/accountService">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/services/AccountService"/>
+ </reference>
+
+ <!-- clients -->
+
+ <component name="Client1a2a3a4a">
+ <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" />
+ </component>
+
+ <reference name="ClientRef1a2a3a4a" promote="Client1a2a3a4a/accountService">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1a2a3a4a" />
+ </reference>
+
+ <component name="Client1a2a3a4b">
+ <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl"/>
+ </component>
+
+ <reference name="ClientRef1a2a3a4b" promote="Client1a2a3a4b/accountService">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1a2a3a4b" />
+ </reference>
+
+ <component name="Client1a2a3b4a">
+ <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" />
+ </component>
+
+ <reference name="ClientRef1a2a3b4a" promote="Client1a2a3b4a/accountService">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1a2a3b4a" />
+ </reference>
+
+ <component name="Client1a2a3b4b">
+ <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" />
+ </component>
+
+ <reference name="ClientRef1a2a3b4b" promote="Client1a2a3b4b/accountService">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1a2a3b4b" />
+ </reference>
+
+ <component name="Client1a2b3a4a">
+ <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" />
+ </component>
+
+ <reference name="ClientRef1a2b3a4a" promote="Client1a2b3a4a/accountService">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1a2b3a4a" />
+ </reference>
+
+ <component name="Client1a2b3a4b">
+ <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" />
+ </component>
+
+ <reference name="ClientRef1a2b3a4b" promote="Client1a2b3a4b/accountService">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1a2b3a4b" />
+ </reference>
+
+ <component name="Client1a2b3b4a">
+ <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" />
+ </component>
+
+ <reference name="ClientRef1a2b3b4a" promote="Client1a2b3b4a/accountService">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1a2b3b4a" />
+ </reference>
+
+ <component name="Client1a2b3b4b">
+ <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" />
+ </component>
+
+ <reference name="ClientRef1a2b3b4b" promote="Client1a2b3b4b/accountService">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1a2b3b4b" />
+ </reference>
+
+ <component name="Client1b2a3a4a">
+ <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" />
+ </component>
+
+ <reference name="ClientRef1b2a3a4a" promote="Client1b2a3a4a/accountService">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1b2a3a4a" />
+ </reference>
+
+ <component name="Client1b2a3a4b">
+ <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" />
+ </component>
+
+ <reference name="ClientRef1b2a3a4b" promote="Client1b2a3a4b/accountService">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1b2a3a4b" />
+ </reference>
+
+ <component name="Client1b2a3b4a">
+ <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" />
+ </component>
+
+ <reference name="ClientRef1b2a3b4a" promote="Client1b2a3b4a/accountService">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1b2a3b4a" />
+ </reference>
+
+ <component name="Client1b2a3b4b">
+ <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" />
+ </component>
+
+ <reference name="ClientRef1b2a3b4b" promote="Client1b2a3b4b/accountService">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1b2a3b4b" />
+ </reference>
+
+ <component name="Client1b2b3a4a">
+ <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" />
+ </component>
+
+ <reference name="ClientRef1b2b3a4a" promote="Client1b2b3a4a/accountService">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1b2b3a4a" />
+ </reference>
+
+ <component name="Client1b2b3a4b">
+ <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" />
+ </component>
+
+ <reference name="ClientRef1b2b3a4b" promote="Client1b2b3a4b/accountService">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1b2b3a4b" />
+ </reference>
+
+ <component name="Client1b2b3b4a">
+ <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" />
+ </component>
+
+ <reference name="ClientRef1b2b3b4a" promote="Client1b2b3b4a/accountService">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1b2b3b4a" />
+ </reference>
+
+ <component name="Client1b2b3b4b">
+ <implementation.java class="bigbank.account.services.accountdata.AccountServiceClientImpl" />
+ </component>
+
+ <reference name="ClientRef1b2b3b4b" promote="Client1b2b3b4b/accountService">
+ <interface.java interface="bigbank.account.services.accountdata.AccountDataService" />
+ <binding.ws uri="http://localhost:8085/AccountService1b2b3b4b" />
+ </reference>
+
+</composite>
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/WSDLTest.composite b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/WSDLTest.composite
new file mode 100644
index 0000000000..e69cdbc282
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/WSDLTest.composite
@@ -0,0 +1,350 @@
+<?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="WSDLTest">
+
+ <service name="HelloWorldService1a2a3a4a" promote="Component2a3a4a" >
+ <interface.java interface="helloworld.HelloWorldService" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1a2a3a4a"/>
+ </service>
+ <service name="HelloWorldService1a2a3a4b" promote="Component2a3a4b" >
+ <interface.java interface="helloworld.HelloWorldService" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1a2a3a4b"/>
+ </service>
+ <service name="HelloWorldService1a2a3b4a" promote="Component2a3b4a" >
+ <interface.java interface="helloworld.HelloWorldService" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1a2a3b4a"/>
+ </service>
+ <service name="HelloWorldService1a2a3b4b" promote="Component2a3b4b" >
+ <interface.java interface="helloworld.HelloWorldService" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1a2a3b4b"/>
+ </service>
+ <service name="HelloWorldService1a2b3a4a" promote="Component2b3a4a" >
+ <interface.java interface="helloworld.HelloWorldService" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1a2b3a4a"/>
+ </service>
+ <service name="HelloWorldService1a2b3a4b" promote="Component2b3a4b" >
+ <interface.java interface="helloworld.HelloWorldService" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1a2b3a4b"/>
+ </service>
+ <service name="HelloWorldService1a2b3b4a" promote="Component2b3b4a" >
+ <interface.java interface="helloworld.HelloWorldService" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1a2b3b4a"/>
+ </service>
+ <service name="HelloWorldService1a2b3b4b" promote="Component2b3b4b" >
+ <interface.java interface="helloworld.HelloWorldService" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1a2b3b4b"/>
+ </service>
+
+ <service name="HelloWorldService1b2a3a4a" promote="Component2a3a4a" >
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1b2a3a4a"/>
+ </service>
+ <service name="HelloWorldService1b2a3a4b" promote="Component2a3a4b" >
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1b2a3a4b"/>
+ </service>
+ <service name="HelloWorldService1b2a3b4a" promote="Component2a3b4a" >
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1b2a3b4a"/>
+ </service>
+ <service name="HelloWorldService1b2a3b4b" promote="Component2a3b4b" >
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1b2a3b4b"/>
+ </service>
+ <service name="HelloWorldService1b2b3a4a" promote="Component2b3a4a" >
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1b2b3a4a"/>
+ </service>
+ <service name="HelloWorldService1b2b3a4b" promote="Component2b3a4b" >
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1b2b3a4b"/>
+ </service>
+ <service name="HelloWorldService1b2b3b4a" promote="Component2b3b4a" >
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1b2b3b4a"/>
+ </service>
+ <service name="HelloWorldService1b2b3b4b" promote="Component2b3b4b" >
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1b2b3b4b"/>
+ </service>
+
+ <component name="Component2a3a4a">
+ <implementation.java class="org.apache.tuscany.sca.itest.Component2aImpl"/>
+ <reference name="comp" target="Component3a4a" />
+ </component>
+ <component name="Component2a3a4b">
+ <implementation.java class="org.apache.tuscany.sca.itest.Component2aImpl"/>
+ <reference name="comp" target="Component3a4b" />
+ </component>
+ <component name="Component2a3b4a">
+ <implementation.java class="org.apache.tuscany.sca.itest.Component2aImpl"/>
+ <reference name="comp" target="Component3b4a" />
+ </component>
+ <component name="Component2a3b4b">
+ <implementation.java class="org.apache.tuscany.sca.itest.Component2aImpl"/>
+ <reference name="comp" target="Component3b4b" />
+ </component>
+
+ <component name="Component2b3a4a">
+ <implementation.java class="org.apache.tuscany.sca.itest.Component2bImpl"/>
+ <reference name="comp" target="Component3a4a" />
+ </component>
+ <component name="Component2b3a4b">
+ <implementation.java class="org.apache.tuscany.sca.itest.Component2bImpl"/>
+ <reference name="comp" target="Component3a4b" />
+ </component>
+ <component name="Component2b3b4a">
+ <implementation.java class="org.apache.tuscany.sca.itest.Component2bImpl"/>
+ <reference name="comp" target="Component3b4a" />
+ </component>
+ <component name="Component2b3b4b">
+ <implementation.java class="org.apache.tuscany.sca.itest.Component2bImpl"/>
+ <reference name="comp" target="Component3b4b" />
+ </component>
+
+ <component name="Component3a4a">
+ <implementation.java class="org.apache.tuscany.sca.itest.Component3aImpl"/>
+ <reference name="comp" />
+ </component>
+ <reference name="Component3a4aRef" promote="Component3a4a/comp" >
+ <interface.java interface="helloworld.HelloWorldService" />
+ <binding.ws uri="http://localhost:8085/HelloWorldWebService" />
+ </reference>
+
+ <component name="Component3a4b">
+ <implementation.java class="org.apache.tuscany.sca.itest.Component3aImpl"/>
+ <reference name="comp" />
+ </component>
+ <reference name="Component3a4bRef" promote="Component3a4b/comp" >
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldWebService" />
+ </reference>
+
+ <component name="Component3b4a">
+ <implementation.java class="org.apache.tuscany.sca.itest.Component3bImpl"/>
+ <reference name="comp" />
+ </component>
+ <reference name="Component3b4aRef" promote="Component3b4a/comp" >
+ <interface.java interface="helloworld.HelloWorldService" />
+ <binding.ws uri="http://localhost:8085/HelloWorldWebService" />
+ </reference>
+
+ <component name="Component3b4b">
+ <implementation.java class="org.apache.tuscany.sca.itest.Component3bImpl"/>
+ <reference name="comp" />
+ </component>
+ <reference name="Component3b4bRef" promote="Component3b4b/comp" >
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldWebService" />
+ </reference>
+
+
+<!-- the servive -->
+
+ <service name="HelloWorldWebService" promote="HelloWorldServiceComponent" >
+ <!-- interface.java interface="helloworld.HelloWorldService" / -->
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldWebService"/>
+ </service>
+
+ <component name="HelloWorldServiceComponent">
+ <implementation.java class="helloworld.HelloWorldImpl" />
+ </component>
+
+<!-- the clients -->
+
+ <component name="Client1a2a3a4a">
+ <implementation.java class="helloworld.HelloWorldServiceComponent"/>
+ <reference name="helloWorldService" />
+ </component>
+
+ <reference name="ClientRef1a2a3a4a" promote="Client1a2a3a4a/helloWorldService" >
+ <!-- interface.java interface="helloworld.HelloWorldService" / -->
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1a2a3a4a" />
+ </reference>
+
+ <component name="Client1a2a3a4b">
+ <implementation.java class="helloworld.HelloWorldServiceComponent"/>
+ <reference name="helloWorldService" />
+ </component>
+
+ <reference name="ClientRef1a2a3a4b" promote="Client1a2a3a4b/helloWorldService" >
+ <!-- interface.java interface="helloworld.HelloWorldService" / -->
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1a2a3a4b" />
+ </reference>
+
+ <component name="Client1a2a3b4a">
+ <implementation.java class="helloworld.HelloWorldServiceComponent"/>
+ <reference name="helloWorldService" />
+ </component>
+
+ <reference name="ClientRef1a2a3b4a" promote="Client1a2a3b4a/helloWorldService" >
+ <!-- interface.java interface="helloworld.HelloWorldService" / -->
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1a2a3b4a" />
+ </reference>
+
+ <component name="Client1a2a3b4b">
+ <implementation.java class="helloworld.HelloWorldServiceComponent"/>
+ <reference name="helloWorldService" />
+ </component>
+
+ <reference name="ClientRef1a2a3b4b" promote="Client1a2a3b4b/helloWorldService" >
+ <!-- interface.java interface="helloworld.HelloWorldService" / -->
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1a2a3b4b" />
+ </reference>
+
+ <component name="Client1a2b3a4a">
+ <implementation.java class="helloworld.HelloWorldServiceComponent"/>
+ <reference name="helloWorldService" />
+ </component>
+
+ <reference name="ClientRef1a2b3a4a" promote="Client1a2b3a4a/helloWorldService" >
+ <!-- interface.java interface="helloworld.HelloWorldService" / -->
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1a2b3a4a" />
+ </reference>
+
+ <component name="Client1a2b3a4b">
+ <implementation.java class="helloworld.HelloWorldServiceComponent"/>
+ <reference name="helloWorldService" />
+ </component>
+
+ <reference name="ClientRef1a2b3a4b" promote="Client1a2b3a4b/helloWorldService" >
+ <!-- interface.java interface="helloworld.HelloWorldService" / -->
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1a2b3a4b" />
+ </reference>
+
+ <component name="Client1a2b3b4a">
+ <implementation.java class="helloworld.HelloWorldServiceComponent"/>
+ <reference name="helloWorldService" />
+ </component>
+
+ <reference name="ClientRef1a2b3b4a" promote="Client1a2b3b4a/helloWorldService" >
+ <!-- interface.java interface="helloworld.HelloWorldService" / -->
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1a2b3b4a" />
+ </reference>
+
+ <component name="Client1a2b3b4b">
+ <implementation.java class="helloworld.HelloWorldServiceComponent"/>
+ <reference name="helloWorldService" />
+ </component>
+
+ <reference name="ClientRef1a2b3b4b" promote="Client1a2b3b4b/helloWorldService" >
+ <!-- interface.java interface="helloworld.HelloWorldService" / -->
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1a2b3b4b" />
+ </reference>
+
+ <component name="Client1b2a3a4a">
+ <implementation.java class="helloworld.HelloWorldServiceComponent"/>
+ <reference name="helloWorldService" />
+ </component>
+
+ <reference name="ClientRef1b2a3a4a" promote="Client1b2a3a4a/helloWorldService" >
+ <!-- interface.java interface="helloworld.HelloWorldService" / -->
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1b2a3a4a" />
+ </reference>
+
+ <component name="Client1b2a3a4b">
+ <implementation.java class="helloworld.HelloWorldServiceComponent"/>
+ <reference name="helloWorldService" />
+ </component>
+
+ <reference name="ClientRef1b2a3a4b" promote="Client1b2a3a4b/helloWorldService" >
+ <!-- interface.java interface="helloworld.HelloWorldService" / -->
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1b2a3a4b" />
+ </reference>
+
+ <component name="Client1b2a3b4a">
+ <implementation.java class="helloworld.HelloWorldServiceComponent"/>
+ <reference name="helloWorldService" />
+ </component>
+
+ <reference name="ClientRef1b2a3b4a" promote="Client1b2a3b4a/helloWorldService" >
+ <!-- interface.java interface="helloworld.HelloWorldService" / -->
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1b2a3b4a" />
+ </reference>
+
+ <component name="Client1b2a3b4b">
+ <implementation.java class="helloworld.HelloWorldServiceComponent"/>
+ <reference name="helloWorldService" />
+ </component>
+
+ <reference name="ClientRef1b2a3b4b" promote="Client1b2a3b4b/helloWorldService" >
+ <!-- interface.java interface="helloworld.HelloWorldService" / -->
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1b2a3b4b" />
+ </reference>
+
+ <component name="Client1b2b3a4a">
+ <implementation.java class="helloworld.HelloWorldServiceComponent"/>
+ <reference name="helloWorldService" />
+ </component>
+
+ <reference name="ClientRef1b2b3a4a" promote="Client1b2b3a4a/helloWorldService" >
+ <!-- interface.java interface="helloworld.HelloWorldService" / -->
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1b2b3a4a" />
+ </reference>
+
+ <component name="Client1b2b3a4b">
+ <implementation.java class="helloworld.HelloWorldServiceComponent"/>
+ <reference name="helloWorldService" />
+ </component>
+
+ <reference name="ClientRef1b2b3a4b" promote="Client1b2b3a4b/helloWorldService" >
+ <!-- interface.java interface="helloworld.HelloWorldService" / -->
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)"/>
+ <binding.ws uri="http://localhost:8085/HelloWorldService1b2b3a4b" />
+ </reference>
+
+ <component name="Client1b2b3b4a">
+ <implementation.java class="helloworld.HelloWorldServiceComponent"/>
+ <reference name="helloWorldService" />
+ </component>
+
+ <reference name="ClientRef1b2b3b4a" promote="Client1b2b3b4a/helloWorldService" >
+ <!-- interface.java interface="helloworld.HelloWorldService" / -->
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1b2b3b4a" />
+ </reference>
+
+ <component name="Client1b2b3b4b">
+ <implementation.java class="helloworld.HelloWorldServiceComponent"/>
+ <reference name="helloWorldService" />
+ </component>
+
+ <reference name="ClientRef1b2b3b4b" promote="Client1b2b3b4b/helloWorldService" >
+ <!-- interface.java interface="helloworld.HelloWorldService" / -->
+ <interface.wsdl interface="http://helloworld#wsdl.interface(HelloWorld)" />
+ <binding.ws uri="http://localhost:8085/HelloWorldService1b2b3b4b" />
+ </reference>
+
+</composite>
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/wsdl/AccountService.wsdl b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/wsdl/AccountService.wsdl
new file mode 100644
index 0000000000..73f9ed4bfc
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/wsdl/AccountService.wsdl
@@ -0,0 +1,453 @@
+<?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:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:account="http://www.bigbank.com/account"
+ targetNamespace="http://www.bigbank.com/account"
+ name="AccountService">
+
+ <wsdl:types>
+ <xsd:schema targetNamespace="http://www.bigbank.com/account"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:account="http://www.bigbank.com/account">
+
+ <xsd:element name="getAccountReport">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="customerID"
+ type="xsd:int" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getAccountReportResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="accountReport"
+ type="account:AccountReport" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="AccountReport">
+ <xsd:sequence>
+ <xsd:element name="accountSummaries"
+ type="account:AccountSummary" maxOccurs="unbounded" />
+ <xsd:element name="stockSummaries"
+ type="account:StockSummary" maxOccurs="unbounded" />
+
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="AccountSummary">
+ <xsd:attribute name="accountNumber" type="xsd:string" />
+ <xsd:attribute name="accountType" type="xsd:string" />
+ <xsd:attribute name="balance" type="xsd:float" />
+ </xsd:complexType>
+
+ <xsd:complexType name="StockSummary">
+ <!-- xsd:attribute name="id" type="xsd:int" / -->
+ <xsd:attribute name="purchaseLotNumber" type="xsd:int" />
+ <!-- unique id for this purchase -->
+ <xsd:attribute name="symbol" type="xsd:string" />
+ <xsd:attribute name="quantity" type="xsd:int" />
+ <xsd:attribute name="purchaseDate" type="xsd:dateTime" />
+ <xsd:attribute name="purchasePrice" type="xsd:float" />
+ <xsd:attribute name="currentPrice" type="xsd:float" />
+ <xsd:attribute name="company" type="xsd:string" />
+ <xsd:attribute name="highPrice" type="xsd:float" />
+ <xsd:attribute name="lowPrice" type="xsd:float" />
+
+ </xsd:complexType>
+
+ <!-- Profile in data base -->
+ <xsd:element name="getCustomerProfile">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="loginID" type="xsd:string" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="CustomerProfileData">
+ <xsd:sequence>
+ <xsd:element name="firstName" type="xsd:string" />
+ <xsd:element name="lastName" type="xsd:string" />
+ <xsd:element name="address" type="xsd:string" />
+ <xsd:element name="email" type="xsd:string" />
+ <xsd:element name="loginID" type="xsd:string" />
+ <xsd:element name="password" type="xsd:string" />
+ <xsd:element name="id" type="xsd:int" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:element name="getCustomerProfileResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="customerProfile"
+ type="account:CustomerProfileData" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="withdraw">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="accountNumber"
+ type="xsd:string" />
+ <xsd:element name="amount" type="xsd:float" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="withdrawResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="balance" type="xsd:float" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="deposit">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="accountNumber"
+ type="xsd:string" />
+ <xsd:element name="amount" type="xsd:float" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="depositResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="balance" type="xsd:float" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="purchaseStock">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="id" type="xsd:int" />
+ <xsd:element name="stock" type="account:StockSummary" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="purchaseStockResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="purchaseSummary"
+ type="account:StockSummary" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+
+
+ <xsd:element name="sellStock">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="purchaseLotNumber"
+ type="xsd:int" /><!-- unique id for this purchase -->
+ <xsd:element name="quantity" type="xsd:int" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="createAccount">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="customerProfile"
+ type="account:CustomerProfileData" />
+ <xsd:element name="createSavings"
+ type="xsd:boolean" />
+ <xsd:element name="createCheckings"
+ type="xsd:boolean" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="createAccountResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="customerProfile"
+ type="account:CustomerProfileData" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ </xsd:element>
+
+ <xsd:element name="getAccountLog">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="customerID"
+ type="xsd:int" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="getAccountLogResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="accountLog"
+ type="account:AccountLog" />
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:complexType name="AccountLog">
+ <xsd:sequence>
+ <xsd:element name="accountLogEntries"
+ type="account:AccountLogEntry" maxOccurs="unbounded" />
+ <xsd:element name="stockLogEntries"
+ type="account:StockLogEntry" maxOccurs="unbounded" />
+
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="AccountLogEntry">
+ <xsd:attribute name="logSeqNo" type="xsd:int" />
+ <xsd:attribute name="id" type="xsd:int" />
+ <xsd:attribute name="accountNumber" type="xsd:string" />
+ <xsd:attribute name="actionType" type="xsd:string" />
+ <xsd:attribute name="amount" type="xsd:float" />
+ </xsd:complexType>
+
+ <xsd:complexType name="StockLogEntry">
+ <xsd:attribute name="logSeqNo" type="xsd:int" />
+ <xsd:attribute name="id" type="xsd:int" />
+ <xsd:attribute name="symbol" type="xsd:string" />
+ <xsd:attribute name="quantity" type="xsd:int" />
+ <xsd:attribute name="actionType" type="xsd:string" />
+ <xsd:attribute name="purchaseLotNumber" type="xsd:int" />
+ </xsd:complexType>
+
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="getAccountReportRequest">
+ <wsdl:part element="account:getAccountReport"
+ name="getAccountReportRequest" />
+ </wsdl:message>
+ <wsdl:message name="getAccountReportResponse">
+ <wsdl:part element="account:getAccountReportResponse"
+ name="getAccountReportResponse" />
+ </wsdl:message>
+
+ <wsdl:message name="getCustomerProfileRequest">
+ <wsdl:part element="account:getCustomerProfile"
+ name="getCustomerProfile" />
+ </wsdl:message>
+ <wsdl:message name="getCustomerProfileResponse">
+ <wsdl:part element="account:getCustomerProfileResponse"
+ name="getCustomerProfileResponse" />
+ </wsdl:message>
+
+ <wsdl:message name="withdrawRequest">
+ <wsdl:part element="account:withdraw" name="withdrawRequest" />
+ </wsdl:message>
+
+ <wsdl:message name="withdrawResponse">
+ <wsdl:part element="account:withdrawResponse"
+ name="withdrawResponse" />
+ </wsdl:message>
+
+ <wsdl:message name="depositRequest">
+ <wsdl:part element="account:deposit" name="depositRequest" />
+ </wsdl:message>
+
+ <wsdl:message name="depositResponse">
+ <wsdl:part element="account:depositResponse"
+ name="depositResponse" />
+ </wsdl:message>
+
+ <wsdl:message name="purchaseStockRequest">
+ <wsdl:part element="account:purchaseStock"
+ name="purchaseStockRequest" />
+ </wsdl:message>
+
+ <wsdl:message name="purchaseStockResponse">
+ <wsdl:part element="account:purchaseStockResponse"
+ name="purchaseStockResponse" />
+ </wsdl:message>
+
+ <wsdl:message name="sellStockRequest">
+ <wsdl:part element="account:sellStock" name="sellStockRequest" />
+ </wsdl:message>
+
+ <wsdl:message name="createAccountRequest">
+ <wsdl:part element="account:createAccount" name="createAccountRequest" />
+ </wsdl:message>
+
+ <wsdl:message name="createAccountResponse">
+ <wsdl:part element="account:createAccountResponse" name="createAccountResponse" />
+ </wsdl:message>
+
+ <wsdl:message name="getAccountLogRequest">
+ <wsdl:part element="account:getAccountLog"
+ name="getAccountLogRequest" />
+ </wsdl:message>
+
+ <wsdl:message name="getAccountLogResponse">
+ <wsdl:part element="account:getAccountLogResponse"
+ name="getAccountLogResponse" />
+ </wsdl:message>
+
+ <wsdl:portType name="AccountService">
+ <wsdl:operation name="getAccountReport">
+ <wsdl:input message="account:getAccountReportRequest" />
+ <wsdl:output message="account:getAccountReportResponse" />
+ </wsdl:operation>
+
+ <wsdl:operation name="getCustomerProfile">
+ <wsdl:input message="account:getCustomerProfileRequest" />
+ <wsdl:output message="account:getCustomerProfileResponse" />
+ </wsdl:operation>
+
+ <wsdl:operation name="withdraw">
+ <wsdl:input message="account:withdrawRequest" />
+ <wsdl:output message="account:withdrawResponse" />
+ </wsdl:operation>
+
+ <wsdl:operation name="deposit">
+ <wsdl:input message="account:depositRequest" />
+ <wsdl:output message="account:depositResponse" />
+ </wsdl:operation>
+
+ <wsdl:operation name="purchaseStock">
+ <wsdl:input message="account:purchaseStockRequest" />
+ <wsdl:output message="account:purchaseStockResponse" />
+ </wsdl:operation>
+
+ <wsdl:operation name="sellStock">
+ <wsdl:input message="account:sellStockRequest" />
+ <wsdl:output message="account:purchaseStockResponse" />
+ </wsdl:operation>
+
+
+ <wsdl:operation name="createAccount">
+ <wsdl:input message="account:createAccountRequest" />
+ <wsdl:output message="account:createAccountResponse" />
+ </wsdl:operation>
+
+ <wsdl:operation name="getAccountLog">
+ <wsdl:input message="account:getAccountLogRequest" />
+ <wsdl:output message="account:getAccountLogResponse" />
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+
+
+ <wsdl:binding name="AccountServiceSOAP" type="account:AccountService">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="getAccountReport">
+ <soap:operation
+ soapAction="http://www.bigbank.com/account/getAccountReport" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="getCustomerProfile">
+ <soap:operation
+ soapAction="http://www.bigbank.com/account/getCustomerProfile" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="withdraw">
+ <soap:operation
+ soapAction="http://www.bigbank.com/account/withdraw" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="deposit">
+ <soap:operation
+ soapAction="http://www.bigbank.com/account/deposit" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="purchaseStock">
+ <soap:operation
+ soapAction="http://www.bigbank.com/account/purchaseStock" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="sellStock">
+ <soap:operation
+ soapAction="http://www.bigbank.com/account/sellStock" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="createAccount">
+ <soap:operation
+ soapAction="http://www.bigbank.com/account/createAccount" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="getAccountLog">
+ <soap:operation
+ soapAction="http://www.bigbank.com/account/getAccountLog" />
+ <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="account:AccountServiceSOAP"
+ name="AccountServiceSOAP">
+ <soap:address
+ location="http://localhost:8085/services/AccountService" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/wsdl/helloworld.wsdl b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/wsdl/helloworld.wsdl
new file mode 100644
index 0000000000..bc6fe0e89a
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/main/resources/wsdl/helloworld.wsdl
@@ -0,0 +1,131 @@
+<?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 targetNamespace="http://helloworld"
+ xmlns:tns="http://helloworld"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="helloworld">
+
+ <wsdl:types>
+ <schema elementFormDefault="qualified"
+ targetNamespace="http://helloworld"
+ xmlns="http://www.w3.org/2001/XMLSchema">
+
+ <element name="getGreetings">
+ <complexType>
+ <sequence>
+ <element name="name" type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="getGreetingsResponse">
+ <complexType>
+ <sequence>
+ <element name="getGreetingsReturn"
+ type="xsd:string" />
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="getMultipleGreetings">
+ <complexType>
+ <sequence>
+ <element name="name" type="xsd:string"
+ maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="getMultipleGreetingsResponse">
+ <complexType>
+ <sequence>
+ <element name="getGreetingsReturn"
+ type="xsd:string" maxOccurs="unbounded" />
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </wsdl:types>
+
+ <wsdl:message name="getGreetingsRequest">
+ <wsdl:part element="tns:getGreetings" name="parameters" />
+ </wsdl:message>
+
+ <wsdl:message name="getGreetingsResponse">
+ <wsdl:part element="tns:getGreetingsResponse" name="parameters" />
+ </wsdl:message>
+
+ <wsdl:message name="getMultipleGreetingsRequest">
+ <wsdl:part element="tns:getMultipleGreetings" name="parameters" />
+ </wsdl:message>
+
+ <wsdl:message name="getMultipleGreetingsResponse">
+ <wsdl:part element="tns:getMultipleGreetingsResponse"
+ name="parameters" />
+ </wsdl:message>
+
+ <wsdl:portType name="HelloWorld">
+ <wsdl:operation name="getGreetings">
+ <wsdl:input message="tns:getGreetingsRequest"
+ name="getGreetingsRequest" />
+ <wsdl:output message="tns:getGreetingsResponse"
+ name="getGreetingsResponse" />
+ </wsdl:operation>
+ <wsdl:operation name="getMultipleGreetings">
+ <wsdl:input message="tns:getMultipleGreetingsRequest"
+ name="getMultipleGreetingsRequest" />
+ <wsdl:output message="tns:getMultipleGreetingsResponse"
+ name="getMultipleGreetingsResponse" />
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+ <wsdl:binding name="HelloWorldSoapBinding" type="tns:HelloWorld">
+ <wsdlsoap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <wsdl:operation name="getGreetings">
+ <wsdlsoap:operation soapAction="" />
+ <wsdl:input name="getGreetingsRequest">
+ <wsdlsoap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="getGreetingsResponse">
+ <wsdlsoap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="getMultipleGreetings">
+ <wsdlsoap:operation soapAction="" />
+ <wsdl:input name="getMultipleGreetingsRequest">
+ <wsdlsoap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output name="getMultipleGreetingsResponse">
+ <wsdlsoap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+ <wsdl:service name="HelloWorldService">
+ <wsdl:port binding="tns:HelloWorldSoapBinding"
+ name="HelloWorldSoapPort">
+ <wsdlsoap:address location="" />
+ </wsdl:port>
+ </wsdl:service>
+
+</wsdl:definitions>
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/test/java/org/apache/tuscany/sca/itest/SDOWSDLTestCase.java b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/test/java/org/apache/tuscany/sca/itest/SDOWSDLTestCase.java
new file mode 100644
index 0000000000..33f541b21b
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/test/java/org/apache/tuscany/sca/itest/SDOWSDLTestCase.java
@@ -0,0 +1,173 @@
+/*
+ * 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.itest;
+
+import static junit.framework.Assert.assertEquals;
+
+import java.rmi.RemoteException;
+
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import bigbank.account.services.accountdata.AccountDataService;
+
+import com.bigbank.account.AccountFactory;
+import com.bigbank.account.AccountReport;
+import com.bigbank.account.AccountSummary;
+import com.bigbank.account.CustomerProfileData;
+
+/**
+ * Tests all the combinations of wiring services, components, and references
+ * which use either interface.java or interface.wsdl.
+ *
+ * The tests use a service (1) wired to a components (2) wired to another
+ * component (3) wired to a reference (4). Each of those uses either
+ * interface.java (a) or interface.wsdl (b). This results in 16 different
+ * combinations 1a2a3a4a thru 1b2b3b4b.
+ */
+public class SDOWSDLTestCase {
+
+ private static SCADomain domain;
+
+ @Test
+ public void testClient1a2a3a4a() throws RemoteException {
+ doit("Client1a2a3a4a");
+ }
+
+ @Test
+ public void testClient1a2a3a4b() throws RemoteException {
+ doit("Client1a2a3a4b");
+ }
+
+ @Test
+ public void testClient1a2a3b4a() throws RemoteException {
+ doit("Client1a2a3b4a");
+ }
+
+ @Test
+ public void testClient1a2a3b4b() throws RemoteException {
+ doit("Client1a2a3b4b");
+ }
+
+ @Test
+ public void testClient1a2b3a4a() throws RemoteException {
+ doit("Client1a2b3a4a");
+ }
+
+ @Test
+ public void testClient1a2b3a4b() throws RemoteException {
+ doit("Client1a2b3a4b");
+ }
+
+ @Test
+ public void testClient1a2b3b4a() throws RemoteException {
+ doit("Client1a2b3b4a");
+ }
+
+ @Test
+ public void testClient1a2b3b4b() throws RemoteException {
+ doit("Client1a2b3b4b");
+ }
+
+ @Test
+ public void testClient1b2a3a4a() throws RemoteException {
+ doit("Client1b2a3a4a");
+ }
+
+ @Test
+ public void testClient1b2a3a4b() throws RemoteException {
+ doit("Client1b2a3a4b");
+ }
+
+ @Test
+ public void testClient1b2a3b4a() throws RemoteException {
+ doit("Client1b2a3b4a");
+ }
+
+ @Test
+ public void testClient1b2a3b4b() throws RemoteException {
+ doit("Client1b2a3b4b");
+ }
+
+ @Test
+ public void testClient1b2b3a4a() throws RemoteException {
+ doit("Client1b2b3a4a");
+ }
+
+ @Test
+ public void testClient1b2b3a4b() throws RemoteException {
+ doit("Client1b2b3a4b");
+ }
+
+ @Test
+ public void testClient1b2b3b4a() throws RemoteException {
+ doit("Client1b2b3b4a");
+ }
+
+ @Test
+ public void testClient1b2b3b4b() throws RemoteException {
+ doit("Client1b2b3b4b");
+ }
+
+ private void doit(String compName) throws RemoteException {
+ AccountDataService client = domain.getService(AccountDataService.class, compName);
+ CustomerProfileData dataIn = AccountFactory.INSTANCE.createCustomerProfileData();
+ dataIn.setAddress("home");
+ dataIn.setEmail("petra@home");
+ dataIn.setFirstName("petra");
+ dataIn.setId(1);
+ dataIn.setLastName("A");
+ dataIn.setLoginID("petra");
+ dataIn.setPassword("ant");
+
+ CustomerProfileData dataOut = client.createAccount(dataIn , false, false);
+
+ assertEquals(dataIn.getAddress(), dataOut.getAddress());
+ assertEquals(dataIn.getEmail(), dataOut.getEmail());
+ assertEquals(dataIn.getFirstName(), dataOut.getFirstName());
+ assertEquals(dataIn.getId(), dataOut.getId());
+ assertEquals(dataIn.getLastName(), dataOut.getLastName());
+ assertEquals(dataIn.getLoginID(), dataOut.getLoginID());
+ assertEquals(dataIn.getPassword(), dataOut.getPassword());
+
+ AccountReport report = client.getAccountReport(12345);
+ AccountSummary summary1 = (AccountSummary)report.getAccountSummaries().get(0);
+ assertEquals(summary1.getAccountType(), "checking");
+ AccountSummary summary2 = (AccountSummary)report.getAccountSummaries().get(1);
+ assertEquals(summary2.getBalance(), 2000.f);
+ }
+
+ @BeforeClass
+ public static void setUp() throws Exception {
+ try {
+ domain = SCADomain.newInstance("SDOWSDLTest.composite");
+ }catch(Throwable e) {
+ e.printStackTrace();
+ }
+ }
+
+ @AfterClass
+ public static void tearDown() throws Exception {
+ domain.close();
+ }
+
+}
diff --git a/sandbox/sebastien/java/sca-node/itest/wsdlless/src/test/java/org/apache/tuscany/sca/itest/WSDLTestCase.java b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/test/java/org/apache/tuscany/sca/itest/WSDLTestCase.java
new file mode 100644
index 0000000000..82bf7ce650
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/itest/wsdlless/src/test/java/org/apache/tuscany/sca/itest/WSDLTestCase.java
@@ -0,0 +1,150 @@
+/*
+ * 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.itest;
+
+import static junit.framework.Assert.assertEquals;
+import helloworld.HelloWorldService;
+
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Tests all the combinations of wiring services, components, and references
+ * which use either interface.java or interface.wsdl. The tests use a service
+ * (1) wired to a components (2) wired to another component (3) wired to a
+ * reference (4). Each of those uses either interface.java (a) or interface.wsdl
+ * (b). This results in 16 different combinations 1a2a3a4a thru 1b2b3b4b.
+ */
+public class WSDLTestCase {
+
+ private static SCADomain domain;
+
+ @Test
+ public void testClient1a2a3a4a() {
+ HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2a3a4a");
+ assertEquals("Hi petra", client.getGreetings("petra"));
+ String[] greetings = client.getMultipleGreetings(new String[] {"John", "Smith"});
+ assertEquals(2, greetings.length);
+ assertEquals("Hi John", greetings[0]);
+ assertEquals("Hi Smith", greetings[1]);
+ }
+
+ @Test
+ public void testClient1a2a3a4b() {
+ HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2a3a4b");
+ assertEquals("Hi petra", client.getGreetings("petra"));
+ }
+
+ @Test
+ public void testClient1a2a3b4a() {
+ HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2a3b4a");
+ assertEquals("Hi petra", client.getGreetings("petra"));
+ }
+
+ @Test
+ public void testClient1a2a3b4b() {
+ HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2a3b4b");
+ assertEquals("Hi petra", client.getGreetings("petra"));
+ }
+
+ @Test
+ public void testClient1a2b3a4a() {
+ HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2b3a4a");
+ assertEquals("Hi petra", client.getGreetings("petra"));
+ }
+
+ @Test
+ public void testClient1a2b3a4b() {
+ HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2b3a4b");
+ assertEquals("Hi petra", client.getGreetings("petra"));
+ }
+
+ @Test
+ public void testClient1a2b3b4a() {
+ HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2b3b4a");
+ assertEquals("Hi petra", client.getGreetings("petra"));
+ }
+
+ @Test
+ public void testClient1a2b3b4b() {
+ HelloWorldService client = domain.getService(HelloWorldService.class, "Client1a2b3b4b");
+ assertEquals("Hi petra", client.getGreetings("petra"));
+ }
+
+ @Test
+ public void testClient1b2a3a4a() {
+ HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2a3a4a");
+ assertEquals("Hi petra", client.getGreetings("petra"));
+ }
+
+ @Test
+ public void testClient1b2a3a4b() {
+ HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2a3a4b");
+ assertEquals("Hi petra", client.getGreetings("petra"));
+ }
+
+ @Test
+ public void testClient1b2a3b4a() {
+ HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2a3b4a");
+ assertEquals("Hi petra", client.getGreetings("petra"));
+ }
+
+ @Test
+ public void testClient1b2a3b4b() {
+ HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2a3b4b");
+ assertEquals("Hi petra", client.getGreetings("petra"));
+ }
+
+ @Test
+ public void testClient1b2b3a4a() {
+ HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2b3a4a");
+ assertEquals("Hi petra", client.getGreetings("petra"));
+ }
+
+ @Test
+ public void testClient1b2b3a4b() {
+ HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2b3a4b");
+ assertEquals("Hi petra", client.getGreetings("petra"));
+ }
+
+ @Test
+ public void testClient1b2b3b4a() {
+ HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2b3b4a");
+ assertEquals("Hi petra", client.getGreetings("petra"));
+ }
+
+ @Test
+ public void testClient1b2b3b4b() {
+ HelloWorldService client = domain.getService(HelloWorldService.class, "Client1b2b3b4b");
+ assertEquals("Hi petra", client.getGreetings("petra"));
+ }
+
+ @BeforeClass
+ public static void init() throws Throwable {
+ domain = SCADomain.newInstance("WSDLTest.composite");
+ }
+
+ @AfterClass
+ public static void destroy() throws Exception {
+ domain.close();
+ }
+}