[ANNOUNCE] Apache Tuscany Java DAS 1.0-incubating-beta1 released
August 21st 2007 - Apache Tuscany is pleased to announce the 1.0-incubating-beta1 release of the Java DAS project. Data Access Services (DAS) works together with Service Data Objects (SDO) simplifying handling of data when interacting with the back-end data source and frees application developers from dealing with tedious and error-prone transformation between end source types and SDO Data Object Types/properties. Key features of 1.0-incubating-beta1 release are : - Support for J2SE connections in DAS config using Driver Manager. - Added support for multiple database schemas in queries - Enhanced Optimistic Concurrency Control with overqualified updates - Multiple enhancements around ApplyChanges API - Enhanced Documentation : User, Developer and Architect guides as well as javadocs - Enhanced and new sample applications For a complete list of changes on this release, please view the release notes. https://svn.apache.org/repos/asf/incubator/tuscany/tags/java/das/1.0-incubating-beta1/distribution/binary/RELEASE_NOTES To download Java DAS please follow the link to http://incubator.apache.org/tuscany/das-downloads.html Apache Tuscany welcomes your help. Any contribution, including code, testing, improving the documentation, or bug reporting is always appreciated. For more information on how to get involved in Apache Tuscany visit the website at: http://incubator.apache.org/tuscany. Thank you for your interest in Apache Tuscany! The Apache Tuscany Team. --- Tuscany is an effort undergoing incubation at the Apache Software Foundation (ASF), sponsored by the Apache Web services PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF. -- Luciano Resende Apache Tuscany Committer http://people.apache.org/~lresende http://lresende.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[DAS] What's next for Tuscany DAS ?
With the DAS beta1 release out, I'd like to look forward to things that we want to do next for DAS. I think that there are still couple things that we can improve our core DAS features, the main one would be adding support for multiple DAS implementations, and review our SDO 2.1 APIs usage. As for our history with SCA integration, we have started efforts around Data Services/Declarative DAS (implementation.das) and Data Feeds (implementation.data), and this is probably another area we would like to continue to work going forward. I also think we should continue to improve our user documentation and distribution infrastructure to make our release cut easier. Below is a summary list of items and JIRAs that are related to these possible items : - TUSCANY-986 - DAS integration with SDO 2.1 APIs - TUSCANY-961 - DAS: Using deprected SDO method causes Type lookup failure - Refactoring DAS to allow multiple implementatons As for timeframe, maybe it would be good to have a release in the next couple weeks, to support SDO 1.0 and be available to the SCA release, so we can have the integration story with SCA available. This is just of brain dump of where my thinking is at the moment, I'm sure everyone has their own thoughts about things we should tackle. It would be good to get to them all on the table :-) Thoughts ? -- Luciano Resende Apache Tuscany Committer http://people.apache.org/~lresende http://lresende.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
component type impl
hi, I'm implementing a component type for running RESTful workflows (or compositions - whatever you wanna call it) within SCA. The implementation worked fine but since I updated to the latest SVN head today it get the following error message when running it. After some time of debugging I couldn't really figure out what the problem is. This is the composite file is like this (the location indicates the directory where to workflows are stored):) component name=FeedAggregatorComponent implementation.splice location=c:/somelocation/ ... / /component Internally in the implementation calls, I register a service called SpliceService as JavaInterfaceContract which is the business interface for talking to my engine. In my test program I have to following: public static void main(String[] args) throws IOException { SCADomain scaDomain = SCADomain.newInstance(FeedAggregator.composite ); SpliceService spliceService = scaDomain.getService(SpliceService.class, FeedAggregatorComponent); spliceService.performReceive(samples/feeds3/., getFeeds, sortSample3, text/plain); System.in.read(); scaDomain.close(); } The exception I receive is the following: - Aug 22, 2007 12:17:38 PM org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1 problem WARNING: [WARNING] No implementation for component: FeedAggregatorComponent null Exception in thread main org.osoa.sca.ServiceRuntimeException: The component doesn't have exactly one service at org.apache.tuscany.sca.core.component.ComponentContextImpl.createSelfReference ( ComponentContextImpl.java:135) at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.getServiceReference ( DefaultSCADomain.java:377) at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.getService( DefaultSCADomain.java:321) at com.ibm.sca.implementation.splice.SpliceScaTester.main( SpliceScaTester.java:17) Any pointer are appreciated. Thanks, -Florian - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: component type impl
This seems like a bug on latest SVN code, and I'm also seeing this for other modules. Let me see if I can figure out what is causing this, as it's affecting me as well. On 8/22/07, Florian Rosenberg [EMAIL PROTECTED] wrote: hi, I'm implementing a component type for running RESTful workflows (or compositions - whatever you wanna call it) within SCA. The implementation worked fine but since I updated to the latest SVN head today it get the following error message when running it. After some time of debugging I couldn't really figure out what the problem is. This is the composite file is like this (the location indicates the directory where to workflows are stored):) component name=FeedAggregatorComponent implementation.splice location=c:/somelocation/ ... / /component Internally in the implementation calls, I register a service called SpliceService as JavaInterfaceContract which is the business interface for talking to my engine. In my test program I have to following: public static void main(String[] args) throws IOException { SCADomain scaDomain = SCADomain.newInstance(FeedAggregator.composite ); SpliceService spliceService = scaDomain.getService(SpliceService.class, FeedAggregatorComponent); spliceService.performReceive(samples/feeds3/., getFeeds, sortSample3, text/plain); System.in.read(); scaDomain.close(); } The exception I receive is the following: - Aug 22, 2007 12:17:38 PM org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1 problem WARNING: [WARNING] No implementation for component: FeedAggregatorComponent null Exception in thread main org.osoa.sca.ServiceRuntimeException: The component doesn't have exactly one service at org.apache.tuscany.sca.core.component.ComponentContextImpl.createSelfReference ( ComponentContextImpl.java:135) at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.getServiceReference ( DefaultSCADomain.java:377) at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.getService( DefaultSCADomain.java:321) at com.ibm.sca.implementation.splice.SpliceScaTester.main( SpliceScaTester.java:17) Any pointer are appreciated. Thanks, -Florian - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Luciano Resende Apache Tuscany Committer http://people.apache.org/~lresende http://lresende.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: component type impl
Luciano Resende [EMAIL PROTECTED] wrote on 08/22/2007 01:14:45 PM: This seems like a bug on latest SVN code, and I'm also seeing this for other modules. Let me see if I can figure out what is causing this, as it's affecting me as well. shall i open a jira issue for that?. -Florian On 8/22/07, Florian Rosenberg [EMAIL PROTECTED] wrote: hi, I'm implementing a component type for running RESTful workflows (or compositions - whatever you wanna call it) within SCA. The implementation worked fine but since I updated to the latest SVN head today it get the following error message when running it. After some time of debugging I couldn't really figure out what the problem is. This is the composite file is like this (the location indicates the directory where to workflows are stored):) component name=FeedAggregatorComponent implementation.splice location=c:/somelocation/ ... / /component Internally in the implementation calls, I register a service called SpliceService as JavaInterfaceContract which is the business interface for talking to my engine. In my test program I have to following: public static void main(String[] args) throws IOException { SCADomain scaDomain = SCADomain.newInstance (FeedAggregator.composite ); SpliceService spliceService = scaDomain.getService (SpliceService.class, FeedAggregatorComponent); spliceService.performReceive(samples/feeds3/., getFeeds, sortSample3, text/plain); System.in.read(); scaDomain.close(); } The exception I receive is the following: - Aug 22, 2007 12:17:38 PM org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1 problem WARNING: [WARNING] No implementation for component: FeedAggregatorComponent null Exception in thread main org.osoa.sca.ServiceRuntimeException: The component doesn't have exactly one service at org.apache.tuscany.sca.core.component.ComponentContextImpl. createSelfReference ( ComponentContextImpl.java:135) at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain. getServiceReference ( DefaultSCADomain.java:377) at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.getService( DefaultSCADomain.java:321) at com.ibm.sca.implementation.splice.SpliceScaTester.main( SpliceScaTester.java:17) Any pointer are appreciated. Thanks, -Florian - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Luciano Resende Apache Tuscany Committer http://people.apache.org/~lresende http://lresende.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: component type impl
Luciano Resende [EMAIL PROTECTED] wrote on 08/22/2007 01:57:46 PM: So, a quick explanation for this is that, recent changes made the runtime behavior different. If you are doing getService(ABC), you need to make sure that the target component has only one service, otherwise you should use getService(ABC/ServiceName). Please see if this helps in your case. thanks, but it does not help. I register my service internally using a JavaInterfaceContract in the implementation provider and it is the only service I have. either this code SpliceService spliceService = scaDomain.getService(SpliceService.class, FeedAggregatorComponent/SpliceService); nor the old version below without the /SpliceService work. Any other ideas? Thanks, -Florian In my case, i had a bug where the composite wasn't finding the components, and I was getting the same error message... On 8/22/07, Florian Rosenberg [EMAIL PROTECTED] wrote: Luciano Resende [EMAIL PROTECTED] wrote on 08/22/2007 01:14:45 PM: This seems like a bug on latest SVN code, and I'm also seeing this for other modules. Let me see if I can figure out what is causing this, as it's affecting me as well. shall i open a jira issue for that?. -Florian On 8/22/07, Florian Rosenberg [EMAIL PROTECTED] wrote: hi, I'm implementing a component type for running RESTful workflows (or compositions - whatever you wanna call it) within SCA. The implementation worked fine but since I updated to the latest SVN head today it get the following error message when running it. After some time of debugging I couldn't really figure out what the problem is. This is the composite file is like this (the location indicates the directory where to workflows are stored):) component name=FeedAggregatorComponent implementation.splice location=c:/somelocation/ ... / /component Internally in the implementation calls, I register a service called SpliceService as JavaInterfaceContract which is the business interface for talking to my engine. In my test program I have to following: public static void main(String[] args) throws IOException { SCADomain scaDomain = SCADomain.newInstance (FeedAggregator.composite ); SpliceService spliceService = scaDomain.getService (SpliceService.class, FeedAggregatorComponent); spliceService.performReceive(samples/feeds3/., getFeeds, sortSample3, text/plain); System.in.read(); scaDomain.close(); } The exception I receive is the following: - Aug 22, 2007 12:17:38 PM org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1 problem WARNING: [WARNING] No implementation for component: FeedAggregatorComponent null Exception in thread main org.osoa.sca.ServiceRuntimeException: The component doesn't have exactly one service at org.apache.tuscany.sca.core.component.ComponentContextImpl. createSelfReference ( ComponentContextImpl.java:135) at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain. getServiceReference ( DefaultSCADomain.java:377) at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.getService( DefaultSCADomain.java:321) at com.ibm.sca.implementation.splice.SpliceScaTester.main( SpliceScaTester.java:17) Any pointer are appreciated. Thanks, -Florian - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Luciano Resende Apache Tuscany Committer http://people.apache.org/~lresende http://lresende.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Luciano Resende Apache Tuscany Committer http://people.apache.org/~lresende http://lresende.blogspot.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: component type impl
Raymond Feng [EMAIL PROTECTED] wrote on 08/22/2007 02:48:24 PM: It seems that implementation.splice is not correctly handled. Do you have the new implementation type registered with Tuscany? You probably need to have following files: 1) META-INF/services/org.apache.tuscany.sca.contribution.processor. StAXArtifactProcessor 2) META-INF/services/org.apache.tuscany.sca.provider. ImplementationProviderFactory Please refer to https://svn.apache. org/repos/asf/incubator/tuscany/java/sca/samples/implementation-crud-extension for an example. Raymond, it is exactly implemented as the CRUD component. I was working yesterday before the SVN update. Thanks,, -Florian - Original Message - From: Florian Rosenberg [EMAIL PROTECTED] To: tuscany-user@ws.apache.org Sent: Wednesday, August 22, 2007 11:08 AM Subject: Re: component type impl Luciano Resende [EMAIL PROTECTED] wrote on 08/22/2007 01:57:46 PM: So, a quick explanation for this is that, recent changes made the runtime behavior different. If you are doing getService(ABC), you need to make sure that the target component has only one service, otherwise you should use getService(ABC/ServiceName). Please see if this helps in your case. thanks, but it does not help. I register my service internally using a JavaInterfaceContract in the implementation provider and it is the only service I have. either this code SpliceService spliceService = scaDomain.getService(SpliceService.class, FeedAggregatorComponent/SpliceService); nor the old version below without the /SpliceService work. Any other ideas? Thanks, -Florian In my case, i had a bug where the composite wasn't finding the components, and I was getting the same error message... On 8/22/07, Florian Rosenberg [EMAIL PROTECTED] wrote: Luciano Resende [EMAIL PROTECTED] wrote on 08/22/2007 01:14:45 PM: This seems like a bug on latest SVN code, and I'm also seeing this for other modules. Let me see if I can figure out what is causing this, as it's affecting me as well. shall i open a jira issue for that?. -Florian On 8/22/07, Florian Rosenberg [EMAIL PROTECTED] wrote: hi, I'm implementing a component type for running RESTful workflows (or compositions - whatever you wanna call it) within SCA. The implementation worked fine but since I updated to the latest SVN head today it get the following error message when running it. After some time of debugging I couldn't really figure out what the problem is. This is the composite file is like this (the location indicates the directory where to workflows are stored):) component name=FeedAggregatorComponent implementation.splice location=c:/somelocation/ ... / /component Internally in the implementation calls, I register a service called SpliceService as JavaInterfaceContract which is the business interface for talking to my engine. In my test program I have to following: public static void main(String[] args) throws IOException { SCADomain scaDomain = SCADomain.newInstance (FeedAggregator.composite ); SpliceService spliceService = scaDomain.getService (SpliceService.class, FeedAggregatorComponent); spliceService.performReceive(samples/feeds3/., getFeeds, sortSample3, text/plain); System.in.read(); scaDomain.close(); } The exception I receive is the following: - Aug 22, 2007 12:17:38 PM org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1 problem WARNING: [WARNING] No implementation for component: FeedAggregatorComponent null Exception in thread main org.osoa.sca.ServiceRuntimeException: The component doesn't have exactly one service at org.apache.tuscany.sca.core.component.ComponentContextImpl. createSelfReference ( ComponentContextImpl.java:135) at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain. getServiceReference ( DefaultSCADomain.java:377) at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.getService( DefaultSCADomain.java:321) at com.ibm.sca.implementation.splice.SpliceScaTester.main( SpliceScaTester.java:17) Any pointer are appreciated. Thanks, -Florian - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Luciano Resende Apache Tuscany Committer http://people.apache.org/~lresende http://lresende.blogspot.com/ - To
Re: XQuery implementation scenarios
Hi, interesting topic :) so I've copied the tuscany-user list as well in case some of our users are interested too. Vasil Vasilev wrote: Hi all, I would like to start a discussion about how we see the usage and the future of XQuery within the boundaries of SCA. What inspired me when I started my work on the XQuery implementation type for SCA was the capabilities it provides in the area of data integration. You can take a look for example on the BEA AquaLogic platform. You can see how they create the data integration layer of a SOA application on the basis of XQuery. Currently the SCA specification supports integration with EJB and Spring, but I think XQuery provides many capabilities for working directly with XML data sources - like Web Services and DataBases. It should be noted that the main database vendors support XQuery. Yes, I agree with you that it's missing from SCA right now, and people who use XML based programming models, XML schema for their data, WSDL for their interfaces, or BPEL for their processes, and want to work directly with the XML data will want to use XQuery to transform, filter, mediate their XML messages, and query data from all kinds of XML-enabled backends. I think that with your code contribution we have a good starting point that we can now further develop and refine, use to develop scenarios, samples, demos that illustrate its usage. I'm hoping that this work and the discussions here will help put together a proposal to bring to the spec group. With respect to database access, a number of folks in Tuscany are working on DAS (Data Access Service) and I believe they have started to look at XQuery as well, so I'm not sure if or how these two subjects are related, but I'd be curious to hear from the DAS people on the XQuery subject as well. Another interesting question may be: If the XQuery program talks to a database, will we want to configure the database information on the XQuery component itself? or is the XQuery component going to be more independent of the database itself and we'll represent the accessed database as a separate service? So having in mind what was said above one step for enhancing the XQuery implementation type is to decouple it from Saxon. The user should be able to plug-in his preferred XQuery processor. For example if he uses Oracle, he could delegate the execution of the XQuery script to the Oracle parser. Or he could prefer to use DataDirect's implementation, which is very optimized for accessing databases. In order to do it we could think of some kind of extension points, which define what is needed by the implementation, i.e. to introspect the XQuery file, to call a single function in it, to set external parameters and functions and etc. That sounds good to me. Is there a standard XQuery processor API that we could use here? or should we define that extensibility mechanism ourselves as a specific Tuscany API? How about using SCA policy intents to configure which XQuery processor is going to be used. Have you looked at SCA policies at all? I'm just brainstorming here, but maybe we could define a few policy intents that the application developer could put on a component to say I want an XQuery processor that works well with this XML databinding or I want the XQuery processor that works well with my database... Another direction where the XQuery implementation type seems useful is in the area of mapping one service interface to another and in this way adapt both interfaces. He could even do it with a mapping tool, which generates XQuery code out of it. This could be very useful for BPEL implementation type services for example. Of course here also XSLT could be used, but I selected XQuery, because it is more similar to a programming language and it could easier fit in the concept of interfaces and operations of the services. In this area JBI inherently provide a solution (you can see Open ESB for example), while in SCA this concept is somehow missing. That's why I thing an XQuery implementation type would be a good step forward. Right! XQuery can definitely be very useful to implement mediation components. I can see two different patterns here: - Data mediation - I have data type X and need to transform it to Y, I could write a XQuery component named TransformX2Y for example and then reuse it in various places in my SCA composite application, from Java components that don't want to write this transformation in Java, from BPEL components between BPEL assigns, etc. This kind of component could have a fixed operation like any transform(any) for example, or a more specific operation signature indicating its input/output types. We could have one transform per component or choose to bundle a bunch of related transforms in the same component... There's a lot to explore here I think :) - Interface mediation - I have two WSDL interfaces that don't exactly match, the operation
Fw: component type impl
I finally could fix it. I stepped through with the debugger and found out that the reference to the implemention in the RuntimeComponent was always null which indicated that my ArtifactProcessor was not loaded. I had the following code in the org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor: com.ibm.sca.implementation.splice.SpliceArtifactProcessor;type=http://www.osoa.org/xmlns/sca/1.0#implementation.splice,model=com.ibm.sca.implementation.splice.SpliceImplementation but actually the type= is now qname=. It works again. -Florian - Forwarded by Florian Rosenberg/Watson/IBM on 08/22/2007 10:16 PM - Raymond Feng [EMAIL PROTECTED] wrote on 08/22/2007 02:48:24 PM: It seems that implementation.splice is not correctly handled. Do you have the new implementation type registered with Tuscany? You probably need to have following files: 1) META-INF/services/org.apache.tuscany.sca.contribution.processor. StAXArtifactProcessor 2) META-INF/services/org.apache.tuscany.sca.provider. ImplementationProviderFactory Please refer to https://svn.apache. org/repos/asf/incubator/tuscany/java/sca/samples/implementation-crud-extension for an example. Thanks, Raymond - Original Message - From: Florian Rosenberg [EMAIL PROTECTED] To: tuscany-user@ws.apache.org Sent: Wednesday, August 22, 2007 11:08 AM Subject: Re: component type impl Luciano Resende [EMAIL PROTECTED] wrote on 08/22/2007 01:57:46 PM: So, a quick explanation for this is that, recent changes made the runtime behavior different. If you are doing getService(ABC), you need to make sure that the target component has only one service, otherwise you should use getService(ABC/ServiceName). Please see if this helps in your case. thanks, but it does not help. I register my service internally using a JavaInterfaceContract in the implementation provider and it is the only service I have. either this code SpliceService spliceService = scaDomain.getService(SpliceService.class, FeedAggregatorComponent/SpliceService); nor the old version below without the /SpliceService work. Any other ideas? Thanks, -Florian In my case, i had a bug where the composite wasn't finding the components, and I was getting the same error message... On 8/22/07, Florian Rosenberg [EMAIL PROTECTED] wrote: Luciano Resende [EMAIL PROTECTED] wrote on 08/22/2007 01:14:45 PM: This seems like a bug on latest SVN code, and I'm also seeing this for other modules. Let me see if I can figure out what is causing this, as it's affecting me as well. shall i open a jira issue for that?. -Florian On 8/22/07, Florian Rosenberg [EMAIL PROTECTED] wrote: hi, I'm implementing a component type for running RESTful workflows (or compositions - whatever you wanna call it) within SCA. The implementation worked fine but since I updated to the latest SVN head today it get the following error message when running it. After some time of debugging I couldn't really figure out what the problem is. This is the composite file is like this (the location indicates the directory where to workflows are stored):) component name=FeedAggregatorComponent implementation.splice location=c:/somelocation/ ... / /component Internally in the implementation calls, I register a service called SpliceService as JavaInterfaceContract which is the business interface for talking to my engine. In my test program I have to following: public static void main(String[] args) throws IOException { SCADomain scaDomain = SCADomain.newInstance (FeedAggregator.composite ); SpliceService spliceService = scaDomain.getService (SpliceService.class, FeedAggregatorComponent); spliceService.performReceive(samples/feeds3/., getFeeds, sortSample3, text/plain); System.in.read(); scaDomain.close(); } The exception I receive is the following: - Aug 22, 2007 12:17:38 PM org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1 problem WARNING: [WARNING] No implementation for component: FeedAggregatorComponent null Exception in thread main org.osoa.sca.ServiceRuntimeException: The component doesn't have exactly one service at org.apache.tuscany.sca.core.component.ComponentContextImpl. createSelfReference ( ComponentContextImpl.java:135) at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain. getServiceReference ( DefaultSCADomain.java:377) at org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.getService( DefaultSCADomain.java:321) at com.ibm.sca.implementation.splice.SpliceScaTester.main(