Mike: I don't know if you are talking about this sample: https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/samples/helloworld-bpel-ws/
If it's the case, the helloworld.composite does not have a reference, it simply exposes a BPEL implementation as a service. I think I understand a bit better the rationale for not modeling external references as "components" and why "components" need to have an implementation. I am fine with it since a component must belong to a domain. I have tried to do some cross-domain work by modeling a service (external to the domain) invoked by a BPEL implementation and I get some errors. I don't know if anyone could help me. Here is my composite file (I replaced the GreetingsService component by a reference to an external web service (implemented in a different domain)): <?xml version="1.0" encoding="ISO-8859-15"?> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:sca=" http://www.osoa.org/xmlns/sca/1.0" xmlns:hns="http://helloworld" xmlns:instance="http://www.w3.org/2004/08/wsdl-instance" xmlns:tuscany=" http://tuscany.apache.org/xmlns/sca/1.0" name="helloworld" targetNamespace=" http://bpel"> <component name="HelloWorldService"> <tuscany:implementation.bpel process="hns:HelloWorld"/> <reference name="greetingsPartnerLink" /> </component> <reference name="GreetingsService" promote="HelloWorldService/greetingsPartnerLink"> <tuscany:interface.wsdl interface=" http://laptop2:8085/GreetingsService#wsdl.portType(Greetings)"/> <binding.ws wsdlElement=" http://laptop2:8085/GreetingsService#wsdl.service(GreetingsService)" instance:wsdlLocation="http://laptop2:8085/GreetingsService.wsdl"/> </reference> </composite> I do get a series of errors coming from the domain trying to implement this composite: [java] May 22, 2008 7:44:59 AM org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor read [java] WARNING: Element { http://tuscany.apache.org/xmlns/sca/1.0}implementation.bpel cannot be processed. ([row,col {unknown-source}]: [4,5]) [java] May 22, 2008 7:44:59 AM org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor read [java] WARNING: Element { http://tuscany.apache.org/xmlns/sca/1.0}interface.wsdl cannot be processed. ([row,col {unknown-source}]: [8,5]) [java] May 22, 2008 7:44:59 AM org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1 problem [java] WARNING: No implementation for component: HelloWorldService [java] May 22, 2008 7:44:59 AM org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1 problem [java] WARNING: Reference not found for component reference: HelloWorldService/greetingsPartnerLink [java] May 22, 2008 7:44:59 AM org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1 problem [java] WARNING: No implementation for component: HelloWorldService [java] May 22, 2008 7:44:59 AM org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1 problem [java] WARNING: Reference not found for component reference: HelloWorldService/greetingsPartnerLink [java] No service is declared on component HelloWorldService BTW, of course the greetings service is up and running and I can query its WSDL (v1.1) In the composite I did try both wsdl.interface and wsdl.portType and got the same result (same interface.wsdl cannot be processed) thanks, JJ- On Sat, May 17, 2008 at 7:29 AM, Jean-Jacques Dubray <[EMAIL PROTECTED]> wrote: > Luciano, Mike: > > thanks for the detailed answer. Yes, I am aware there are different types. > I am not so concerned having to declare an implementation within the same > domain. As a matter of fact, it looks to me that it is not even within an > entire domain, but within a composite since there is an implementation type > which is "implementation.composite", so the scope to which an implementation > declaration is exposed is fairly limited (which is good). > > I am more concerned of "cross domain" interactions and in particular how, > say, a .Net based web service gets "assembled". In that case you won't be > able to find a valid implementation to expose as a composite. In "cross > domain" interactions you are also left to use Web Services technologies > (which I'm fine with, it'd be a shame to find no real use for WS-* after all > this energy spent :-). > > Do you have a sample for that use case? > > thanks, > > JJ- > > > On Sat, May 17, 2008 at 5:34 AM, Mike Edwards < > [EMAIL PROTECTED]> wrote: > >> Jean-Jacques Dubray wrote: >> >>> Luciano: >>> >>> thanks, actually in the test/bpel/helloworld-reference composite >>> definition >>> you also have a component defined with a binding.ws and there to, there >>> is >>> an implementation.java element. Is it required? >>> >>> <!-- Simple ws-reference --> >>> <!-- >>> <component name="HelloWorldService"> >>> <implementation.java class="helloworld.HelloWorldServiceImpl"/> >>> <reference name="greetingsService"> >>> <binding.ws uri="http://localhost:8085/GreetingsService"/> >>> </reference> >>> </component> >>> --> >>> >>> Would you consider ws bindings as the preferred way to implement cross >>> domain composites? >>> >>> JJ- >>> >>> Jean-Jacques, >> >> There may be a misunderstanding going on here.... >> >> Where there is a component in SCA, that says that there is a piece of code >> present which implements some function - and that the code provides function >> via one or more services and consumes function provided elsewhere through >> zero or more references. >> >> That code is called an implementation - and the implementation can be any >> one of many kinds - Java, BPEL, C++, JavaScript, Ruby, etc. But there must >> be an implementation of some kind - and the component declaration is obliged >> to point at one. >> >> In this case, the HelloWorldService component has an implementation that >> is a Java POJO - the class >> helloworld.HelloWorldServiceImpl. While this test could have used some >> other implementation type such as BPEL, it IS required to have SOME >> implementation - otherwise there is no function that the component can >> provide. >> >> The fact that the implementation is a Java POJO does not prevent the >> service interface or the reference interface being declared using WSDL and >> it also does not prevent the service or reference using a binding that is a >> Web service binding also using a WSDL, should that be desirable. >> >> Here is a simple example of a component implemented by a BPEL process and >> exposed as a Web service: >> >> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0" >> targetNamespace="http://bpel" >> xmlns:hns=" >> http://tuscany.apache.org/implementation/bpel/example/helloworld" >> name="bpel"> >> >> <component name="BPELHelloWorldComponent"> >> <implementation.bpel process="hns:HelloWorld"/> >> <service name="helloPartnerLink"> >> <interface.wsdl >> interface=" >> http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl# >> wsdl.interface(HelloPortType)" /> >> <binding.ws /> >> </service> >> </component> >> >> </composite> >> >> ....no Java in sight ! >> >> PS - you will find that component in a new BPEL Sample I've recently >> committed to the Tuscany SVN - called "helloworld-bpel-ws". >> >> Yours, Mike. >> > > > > -- > Jean-Jacques Dubray > 425-445-4467 > -- Jean-Jacques Dubray 425-445-4467