The errors you are getting usually means that the necessary
dependencies that register processors to parse those elements are not
available (e.g implementation.bpel and interface.wsdl).

On Thu, May 22, 2008 at 8:11 AM, Jean-Jacques Dubray <[EMAIL PROTECTED]> wrote:
> 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
>



-- 
Luciano Resende
Apache Tuscany Committer
http://people.apache.org/~lresende
http://lresende.blogspot.com/

Reply via email to