You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@tuscany.apache.org by xuhongbo <xu...@tongtech.com> on 2008/08/29 05:21:54 UTC

how to access another SCA Component in BPEL

Hi
	Now I am using  the sca provided build in bpel engine, and want to
invoke another sca-component in the bpel process;
	Though I could deploy the -java-implement sca component as
web-service by ws binding,then access it in bpel by import a wsdl process.
This way ask for all sca-java-componet deployed as web-service, and seems
too trival for deployment.
	So does anyone know how to use a sca-reference in a BPEL implement
component to access another sca component? Or some other mechanism can
direct access sca-component? Typically sca component invoked by the bpel is
always implement as Java Language.

Thanks




Re: how to access another SCA Component in BPEL

Posted by Peng Han <ha...@FernUni-Hagen.de>.
Hello, I guess we mess up a little bit with this thread. What we are 
trying to do is another way round :-)

saying B invokes A.  The details is attached again.

Dear Resende:

Thanks a lot for your prompt response.

I changed the binding to jsoncrpc and get the following error:

Exception in thread "main" org.osoa.sca.ServiceRuntimeException:
java.lang.ClassCastException:
org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLInterfaceImpl cannot
be cast to org.apache.tuscany.sca.interfacedef.java.JavaInterface
   at
org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:220)
   at
org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:63)
   at helloworld.BPELClient.main(BPELClient.java:47)
Caused by: java.lang.ClassCastException:
org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLInterfaceImpl cannot
be cast to org.apache.tuscany.sca.interfacedef.java.JavaInterface
   at
org.apache.tuscany.sca.binding.jsonrpc.provider.JSONRPCServiceBindingProvider.getTargetJavaClass(JSONRPCServiceBindingProvider.java:158)
   at
org.apache.tuscany.sca.binding.jsonrpc.provider.JSONRPCServiceBindingProvider.start(JSONRPCServiceBindingProvider.java:91)
   at
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl$3.run(CompositeActivatorImpl.java:630)
   at java.security.AccessController.doPrivileged(Native Method)
   at
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:628)
   at
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:560)
   at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:668)
   at
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(DefaultSCADomain.java:182)
   at
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(DefaultSCADomain.java:97)
   at
org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:182)
   ... 2 more


However, if I change the interface of BPEL component service from WS to
Java as follows:

<component name="BPELHelloWorldComponent">
   <implementation.bpel process="hns:HelloWorld"/>
   <service name="helloPartnerLink">
     <interface.java
interface="org.apache.tuscany.implementation.bpel.example.helloworld.HelloPortType"/>
     <tuscany:binding.jsonrpc uri="http://localhost:8080/services"/>
   </service>
 </component>

I will get a "null" return value. The code in javascript is as follows:

//@Reference
var mainRegReference = new Reference( "RegistrationReference" );

var mytext = "Hello again";
document.write(mytext);


function getWeather() {
       var city = document.getElementById( "cityField" ).value;
       var country = document.getElementById( "countryField" ).value;

       var returnString = mainRegReference.hello("weather",
displayWeather);
}

function displayWeather(weather){
   document.write(weather);
}


Best Regards

Peng


> A scenario very similar to what you have described below is
> demonstrated in our helloworld-reference itest, and responding to your
> question, in this case we are not going to make a webservice call, but
> a local call, and you can even remove the binding.ws from the
> component B service.
>
> As for your previous question about bpel and widget, I'll see if I can
> find some time to reproduce the sample scenario in my sandbox.
>
> [1] https://svn.apache.org/repos/asf/tuscany/branches/sca-java-1.x/itest/bpel/helloworld-reference
>
> On Tue, Jun 2, 2009 at 11:01 PM, Rupesh M G
> <Ru...@ibsplc.com> wrote:
>   
>> Hello,
>>
>>         Consider this interaction scenario in the same tuscany runtime.
>>
>>         SCA component A --> implementation.bpel
>>         SCA component B --> implementation.java with binding.ws
>>
>>         If A invokes B, will it be a local java call? or a webservice call.
>>
>>         In my understanding, BPEL can manage only webservice interactions.
>>
>>         I would like to know if SCA / tuscany does any extra step to avoid
>> this marshalling / unmarshalling overhead.
>>
>>
>> Regards,
>> Rupesh
>>
>>
>>
>> Peng Han <ha...@FernUni-Hagen.de>
>>
>> 06/01/2009 03:50 PM
>>
>> Please respond to
>> user@tuscany.apache.org
>> To
>> user@tuscany.apache.org
>> cc
>> Subject
>> Re: how to access another SCA Component in BPEL
>>
>>
>>
>>
>>
>>     
>>> On Sat, May 30, 2009 at 12:35 PM, Peng Han <ha...@gmail.com> wrote:
>>>
>>>       
>>>> Dear Resende:
>>>>
>>>> I tried to access the links you provided but it seems that it was broken.
>>>> Would you please check it?
>>>>
>>>>
>>>>         
>>> https://svn.apache.org/repos/asf/tuscany/branches/sca-java-1.x/itest/bpel/helloworld-reference/
>>>
>>>
>>>       
>>>> Also I would like to ask whether it is possible to consume a service
>>>> provided by a .bpel implemented component
>>>> from a component implemented as widget and how. I tried to do it in the
>>>> following composite but the program
>>>> seems stuck when invoking the service.
>>>>
>>>>         
>>> You should be able to do this, using json-rpc binding.
>>> I responded to your other thread "Wiring a Widget Component and BPEL
>>> Component" with more details on how to try to accomplish this, but
>>> feel free to let me know if you are not making progress, and I can try
>>> to get some examples available.
>>>
>>>
>>>       
>>>> Thanks a lot!
>>>>
>>>> the composite is as follows:
>>>>
>>>> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
>>>>
>>>>
>>>> xmlns:hns="http://tuscany.apache.org/implementation/bpel/example/helloworld"
>>>>   xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
>>>> name="helloworld"
>>>>   targetNamespace="http://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 uri="http://localhost:8080/BPELHelloWorldComponent"
>>>> />
>>>>       </service>
>>>>   </component>
>>>>   <component name="RegistrationWidgetComponent">
>>>>       <tuscany:implementation.widget location="Registration.html" />
>>>>       <service name="Widget">
>>>>           <tuscany:binding.http uri="http://localhost:8080/Registration"
>>>> />
>>>>       </service>
>>>>       <reference name="RegistrationReference">
>>>>           <interface.wsdl
>>>>
>>>>
>>>> interface="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl#wsdl.interface(HelloPortType)"
>>>> />
>>>>           <binding.ws uri="http://localhost:8080/BPELHelloWorldComponent"
>>>> />
>>>>       </reference>
>>>>   </component>
>>>>   <service name="RegistrationService"
>>>> promote="RegistrationWidgetComponent/Widget" />
>>>>   <wire source="RegistrationWidgetComponent/RegistrationReference"
>>>>       target="BPELHelloWorldComponent/helloPartnerLink" />
>>>> </composite>
>>>>
>>>> Best Regards
>>>>
>>>> P.Han
>>>>
>>>>         
>>>>> This is demonstrated in the following bpel-reference iTest [1]. In
>>>>> this case, we have a grretings java component, and then a BPEL
>>>>> component that have a reference to this service as described in the
>>>>> composite below.
>>>>>
>>>>> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
>>>>>        targetNamespace="http://bpel"
>>>>>    xmlns:hns="http://helloworld"
>>>>>    name="helloworld">
>>>>>
>>>>>    <component name="HelloWorldService">
>>>>>        <implementation.bpel process="hns:HelloWorld"/>
>>>>>        <reference name="greetingsPartnerLink"
>>>>> target="GreetingsServiceComponent"/>
>>>>>    </component>
>>>>>
>>>>>    <component name="GreetingsServiceComponent">
>>>>>        <implementation.java class="greetings.GreetingsServiceImpl" />
>>>>>            <service name="GreetingsService">
>>>>>
>>>>>                <interface.wsdl
>>>>> interface="http://greetings#wsdl.interface(Greetings)" />
>>>>>            </service>
>>>>>    </component>
>>>>> </composite>
>>>>>
>>>>> Please let me know if you have questions or any problems running the
>>>>> sample test scenario.
>>>>>
>>>>>
>>>>> [1]
>>>>>
>>>>> https://svn.apache.org/repos/asf/tuscany/java/sca/itest/bpel/helloworld-reference/
>>>>>
>>>>>
>>>>> On Thu, Aug 28, 2008 at 8:21 PM, xuhongbo <xu...@tongtech.com> wrote:
>>>>>
>>>>>
>>>>>           
>>>>>> Hi
>>>>>>       Now I am using  the sca provided build in bpel engine, and want
>>>>>> to
>>>>>> invoke another sca-component in the bpel process;
>>>>>>       Though I could deploy the -java-implement sca component as
>>>>>> web-service by ws binding,then access it in bpel by import a wsdl
>>>>>> process.
>>>>>> This way ask for all sca-java-componet deployed as web-service, and
>>>>>> seems
>>>>>> too trival for deployment.
>>>>>>       So does anyone know how to use a sca-reference in a BPEL
>>>>>> implement
>>>>>> component to access another sca component? Or some other mechanism can
>>>>>> direct access sca-component? Typically sca component invoked by the
>>>>>> bpel
>>>>>> is
>>>>>> always implement as Java Language.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>             
>>>>>
>>>>>           
>>>
>>>
>>>       
>>
>>
>>
>>
>>
>> DISCLAIMER:
>>
>> "The information in this e-mail and any attachment is intended only for the
>> person to whom it is addressed and may contain confidential and/or
>> privileged material. If you have received this e-mail in error, kindly
>> contact the sender and destroy all copies of the original communication. IBS
>> makes no warranty, express or implied, nor guarantees the accuracy, adequacy
>> or completeness of the information contained in this email or any attachment
>> and is not liable for any errors, defects, omissions, viruses or for
>> resultant loss or damage, if any, direct or indirect."
>>
>>
>>
>>
>>
>>     
>
>
>
>   


Re: how to access another SCA Component in BPEL

Posted by Peng Han <ha...@FernUni-Hagen.de>.
Hello, I guess we mess up a little bit with this thread. What we are 
trying to do is another way round :-)

saying B invokes A.  The details is attached again.

Dear Resende:

Thanks a lot for your prompt response.

I changed the binding to jsoncrpc and get the following error:

Exception in thread "main" org.osoa.sca.ServiceRuntimeException:
java.lang.ClassCastException:
org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLInterfaceImpl cannot
be cast to org.apache.tuscany.sca.interfacedef.java.JavaInterface
   at
org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:220)
   at
org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:63)
   at helloworld.BPELClient.main(BPELClient.java:47)
Caused by: java.lang.ClassCastException:
org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLInterfaceImpl cannot
be cast to org.apache.tuscany.sca.interfacedef.java.JavaInterface
   at
org.apache.tuscany.sca.binding.jsonrpc.provider.JSONRPCServiceBindingProvider.getTargetJavaClass(JSONRPCServiceBindingProvider.java:158)
   at
org.apache.tuscany.sca.binding.jsonrpc.provider.JSONRPCServiceBindingProvider.start(JSONRPCServiceBindingProvider.java:91)
   at
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl$3.run(CompositeActivatorImpl.java:630)
   at java.security.AccessController.doPrivileged(Native Method)
   at
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:628)
   at
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:560)
   at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:668)
   at
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(DefaultSCADomain.java:182)
   at
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(DefaultSCADomain.java:97)
   at
org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:182)
   ... 2 more


However, if I change the interface of BPEL component service from WS to
Java as follows:

<component name="BPELHelloWorldComponent">
   <implementation.bpel process="hns:HelloWorld"/>
   <service name="helloPartnerLink">
     <interface.java
interface="org.apache.tuscany.implementation.bpel.example.helloworld.HelloPortType"/>
     <tuscany:binding.jsonrpc uri="http://localhost:8080/services"/>
   </service>
 </component>

I will get a "null" return value. The code in javascript is as follows:

//@Reference
var mainRegReference = new Reference( "RegistrationReference" );

var mytext = "Hello again";
document.write(mytext);


function getWeather() {
       var city = document.getElementById( "cityField" ).value;
       var country = document.getElementById( "countryField" ).value;

       var returnString = mainRegReference.hello("weather",
displayWeather);
}

function displayWeather(weather){
   document.write(weather);
}


Best Regards

Peng


> A scenario very similar to what you have described below is
> demonstrated in our helloworld-reference itest, and responding to your
> question, in this case we are not going to make a webservice call, but
> a local call, and you can even remove the binding.ws from the
> component B service.
>
> As for your previous question about bpel and widget, I'll see if I can
> find some time to reproduce the sample scenario in my sandbox.
>
> [1] https://svn.apache.org/repos/asf/tuscany/branches/sca-java-1.x/itest/bpel/helloworld-reference
>
> On Tue, Jun 2, 2009 at 11:01 PM, Rupesh M G
> <Ru...@ibsplc.com> wrote:
>   
>> Hello,
>>
>>         Consider this interaction scenario in the same tuscany runtime.
>>
>>         SCA component A --> implementation.bpel
>>         SCA component B --> implementation.java with binding.ws
>>
>>         If A invokes B, will it be a local java call? or a webservice call.
>>
>>         In my understanding, BPEL can manage only webservice interactions.
>>
>>         I would like to know if SCA / tuscany does any extra step to avoid
>> this marshalling / unmarshalling overhead.
>>
>>
>> Regards,
>> Rupesh
>>
>>
>>
>> Peng Han <ha...@FernUni-Hagen.de>
>>
>> 06/01/2009 03:50 PM
>>
>> Please respond to
>> user@tuscany.apache.org
>> To
>> user@tuscany.apache.org
>> cc
>> Subject
>> Re: how to access another SCA Component in BPEL
>>
>>
>>
>>
>>
>>     
>>> On Sat, May 30, 2009 at 12:35 PM, Peng Han <ha...@gmail.com> wrote:
>>>
>>>       
>>>> Dear Resende:
>>>>
>>>> I tried to access the links you provided but it seems that it was broken.
>>>> Would you please check it?
>>>>
>>>>
>>>>         
>>> https://svn.apache.org/repos/asf/tuscany/branches/sca-java-1.x/itest/bpel/helloworld-reference/
>>>
>>>
>>>       
>>>> Also I would like to ask whether it is possible to consume a service
>>>> provided by a .bpel implemented component
>>>> from a component implemented as widget and how. I tried to do it in the
>>>> following composite but the program
>>>> seems stuck when invoking the service.
>>>>
>>>>         
>>> You should be able to do this, using json-rpc binding.
>>> I responded to your other thread "Wiring a Widget Component and BPEL
>>> Component" with more details on how to try to accomplish this, but
>>> feel free to let me know if you are not making progress, and I can try
>>> to get some examples available.
>>>
>>>
>>>       
>>>> Thanks a lot!
>>>>
>>>> the composite is as follows:
>>>>
>>>> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
>>>>
>>>>
>>>> xmlns:hns="http://tuscany.apache.org/implementation/bpel/example/helloworld"
>>>>   xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
>>>> name="helloworld"
>>>>   targetNamespace="http://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 uri="http://localhost:8080/BPELHelloWorldComponent"
>>>> />
>>>>       </service>
>>>>   </component>
>>>>   <component name="RegistrationWidgetComponent">
>>>>       <tuscany:implementation.widget location="Registration.html" />
>>>>       <service name="Widget">
>>>>           <tuscany:binding.http uri="http://localhost:8080/Registration"
>>>> />
>>>>       </service>
>>>>       <reference name="RegistrationReference">
>>>>           <interface.wsdl
>>>>
>>>>
>>>> interface="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl#wsdl.interface(HelloPortType)"
>>>> />
>>>>           <binding.ws uri="http://localhost:8080/BPELHelloWorldComponent"
>>>> />
>>>>       </reference>
>>>>   </component>
>>>>   <service name="RegistrationService"
>>>> promote="RegistrationWidgetComponent/Widget" />
>>>>   <wire source="RegistrationWidgetComponent/RegistrationReference"
>>>>       target="BPELHelloWorldComponent/helloPartnerLink" />
>>>> </composite>
>>>>
>>>> Best Regards
>>>>
>>>> P.Han
>>>>
>>>>         
>>>>> This is demonstrated in the following bpel-reference iTest [1]. In
>>>>> this case, we have a grretings java component, and then a BPEL
>>>>> component that have a reference to this service as described in the
>>>>> composite below.
>>>>>
>>>>> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
>>>>>        targetNamespace="http://bpel"
>>>>>    xmlns:hns="http://helloworld"
>>>>>    name="helloworld">
>>>>>
>>>>>    <component name="HelloWorldService">
>>>>>        <implementation.bpel process="hns:HelloWorld"/>
>>>>>        <reference name="greetingsPartnerLink"
>>>>> target="GreetingsServiceComponent"/>
>>>>>    </component>
>>>>>
>>>>>    <component name="GreetingsServiceComponent">
>>>>>        <implementation.java class="greetings.GreetingsServiceImpl" />
>>>>>            <service name="GreetingsService">
>>>>>
>>>>>                <interface.wsdl
>>>>> interface="http://greetings#wsdl.interface(Greetings)" />
>>>>>            </service>
>>>>>    </component>
>>>>> </composite>
>>>>>
>>>>> Please let me know if you have questions or any problems running the
>>>>> sample test scenario.
>>>>>
>>>>>
>>>>> [1]
>>>>>
>>>>> https://svn.apache.org/repos/asf/tuscany/java/sca/itest/bpel/helloworld-reference/
>>>>>
>>>>>
>>>>> On Thu, Aug 28, 2008 at 8:21 PM, xuhongbo <xu...@tongtech.com> wrote:
>>>>>
>>>>>
>>>>>           
>>>>>> Hi
>>>>>>       Now I am using  the sca provided build in bpel engine, and want
>>>>>> to
>>>>>> invoke another sca-component in the bpel process;
>>>>>>       Though I could deploy the -java-implement sca component as
>>>>>> web-service by ws binding,then access it in bpel by import a wsdl
>>>>>> process.
>>>>>> This way ask for all sca-java-componet deployed as web-service, and
>>>>>> seems
>>>>>> too trival for deployment.
>>>>>>       So does anyone know how to use a sca-reference in a BPEL
>>>>>> implement
>>>>>> component to access another sca component? Or some other mechanism can
>>>>>> direct access sca-component? Typically sca component invoked by the
>>>>>> bpel
>>>>>> is
>>>>>> always implement as Java Language.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>             
>>>>>
>>>>>           
>>>
>>>
>>>       
>>
>>
>>
>>
>>
>> DISCLAIMER:
>>
>> "The information in this e-mail and any attachment is intended only for the
>> person to whom it is addressed and may contain confidential and/or
>> privileged material. If you have received this e-mail in error, kindly
>> contact the sender and destroy all copies of the original communication. IBS
>> makes no warranty, express or implied, nor guarantees the accuracy, adequacy
>> or completeness of the information contained in this email or any attachment
>> and is not liable for any errors, defects, omissions, viruses or for
>> resultant loss or damage, if any, direct or indirect."
>>
>>
>>
>>
>>
>>     
>
>
>
>   


Re: how to access another SCA Component in BPEL

Posted by Luciano Resende <lu...@gmail.com>.
A scenario very similar to what you have described below is
demonstrated in our helloworld-reference itest, and responding to your
question, in this case we are not going to make a webservice call, but
a local call, and you can even remove the binding.ws from the
component B service.

As for your previous question about bpel and widget, I'll see if I can
find some time to reproduce the sample scenario in my sandbox.

[1] https://svn.apache.org/repos/asf/tuscany/branches/sca-java-1.x/itest/bpel/helloworld-reference

On Tue, Jun 2, 2009 at 11:01 PM, Rupesh M G
<Ru...@ibsplc.com> wrote:
>
> Hello,
>
>         Consider this interaction scenario in the same tuscany runtime.
>
>         SCA component A --> implementation.bpel
>         SCA component B --> implementation.java with binding.ws
>
>         If A invokes B, will it be a local java call? or a webservice call.
>
>         In my understanding, BPEL can manage only webservice interactions.
>
>         I would like to know if SCA / tuscany does any extra step to avoid
> this marshalling / unmarshalling overhead.
>
>
> Regards,
> Rupesh
>
>
>
> Peng Han <ha...@FernUni-Hagen.de>
>
> 06/01/2009 03:50 PM
>
> Please respond to
> user@tuscany.apache.org
> To
> user@tuscany.apache.org
> cc
> Subject
> Re: how to access another SCA Component in BPEL
>
>
>
>
> Dear Resende:
>
> Thanks a lot for your prompt response.
>
> I changed the binding to jsoncrpc and get the following error:
>
> Exception in thread "main" org.osoa.sca.ServiceRuntimeException:
> java.lang.ClassCastException:
> org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLInterfaceImpl cannot
> be cast to org.apache.tuscany.sca.interfacedef.java.JavaInterface
>    at
> org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:220)
>    at
> org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:63)
>    at helloworld.BPELClient.main(BPELClient.java:47)
> Caused by: java.lang.ClassCastException:
> org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLInterfaceImpl cannot
> be cast to org.apache.tuscany.sca.interfacedef.java.JavaInterface
>    at
> org.apache.tuscany.sca.binding.jsonrpc.provider.JSONRPCServiceBindingProvider.getTargetJavaClass(JSONRPCServiceBindingProvider.java:158)
>    at
> org.apache.tuscany.sca.binding.jsonrpc.provider.JSONRPCServiceBindingProvider.start(JSONRPCServiceBindingProvider.java:91)
>    at
> org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl$3.run(CompositeActivatorImpl.java:630)
>    at java.security.AccessController.doPrivileged(Native Method)
>    at
> org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:628)
>    at
> org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:560)
>    at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:668)
>    at
> org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(DefaultSCADomain.java:182)
>    at
> org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(DefaultSCADomain.java:97)
>    at
> org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:182)
>    ... 2 more
>
>
> However, if I change the interface of BPEL component service from WS to
> Java as follows:
>
> <component name="BPELHelloWorldComponent">
>    <implementation.bpel process="hns:HelloWorld"/>
>    <service name="helloPartnerLink">
>      <interface.java
> interface="org.apache.tuscany.implementation.bpel.example.helloworld.HelloPortType"/>
>      <tuscany:binding.jsonrpc uri="http://localhost:8080/services"/>
>    </service>
>  </component>
>
> I will get a "null" return value. The code in javascript is as follows:
>
> //@Reference
> var mainRegReference = new Reference( "RegistrationReference" );
>
> var mytext = "Hello again";
> document.write(mytext);
>
>
> function getWeather() {
>        var city = document.getElementById( "cityField" ).value;
>        var country = document.getElementById( "countryField" ).value;
>
>        var returnString = mainRegReference.hello("weather",
> displayWeather);
> }
>
> function displayWeather(weather){
>    document.write(weather);
> }
>
>
> Best Regards
>
> Peng
>> On Sat, May 30, 2009 at 12:35 PM, Peng Han <ha...@gmail.com> wrote:
>>
>>> Dear Resende:
>>>
>>> I tried to access the links you provided but it seems that it was broken.
>>> Would you please check it?
>>>
>>>
>>
>>
>> https://svn.apache.org/repos/asf/tuscany/branches/sca-java-1.x/itest/bpel/helloworld-reference/
>>
>>
>>> Also I would like to ask whether it is possible to consume a service
>>> provided by a .bpel implemented component
>>> from a component implemented as widget and how. I tried to do it in the
>>> following composite but the program
>>> seems stuck when invoking the service.
>>>
>>
>> You should be able to do this, using json-rpc binding.
>> I responded to your other thread "Wiring a Widget Component and BPEL
>> Component" with more details on how to try to accomplish this, but
>> feel free to let me know if you are not making progress, and I can try
>> to get some examples available.
>>
>>
>>> Thanks a lot!
>>>
>>> the composite is as follows:
>>>
>>> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
>>>
>>>
>>> xmlns:hns="http://tuscany.apache.org/implementation/bpel/example/helloworld"
>>>   xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
>>> name="helloworld"
>>>   targetNamespace="http://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 uri="http://localhost:8080/BPELHelloWorldComponent"
>>> />
>>>       </service>
>>>   </component>
>>>   <component name="RegistrationWidgetComponent">
>>>       <tuscany:implementation.widget location="Registration.html" />
>>>       <service name="Widget">
>>>           <tuscany:binding.http uri="http://localhost:8080/Registration"
>>> />
>>>       </service>
>>>       <reference name="RegistrationReference">
>>>           <interface.wsdl
>>>
>>>
>>> interface="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl#wsdl.interface(HelloPortType)"
>>> />
>>>           <binding.ws uri="http://localhost:8080/BPELHelloWorldComponent"
>>> />
>>>       </reference>
>>>   </component>
>>>   <service name="RegistrationService"
>>> promote="RegistrationWidgetComponent/Widget" />
>>>   <wire source="RegistrationWidgetComponent/RegistrationReference"
>>>       target="BPELHelloWorldComponent/helloPartnerLink" />
>>> </composite>
>>>
>>> Best Regards
>>>
>>> P.Han
>>>
>>>> This is demonstrated in the following bpel-reference iTest [1]. In
>>>> this case, we have a grretings java component, and then a BPEL
>>>> component that have a reference to this service as described in the
>>>> composite below.
>>>>
>>>> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
>>>>        targetNamespace="http://bpel"
>>>>    xmlns:hns="http://helloworld"
>>>>    name="helloworld">
>>>>
>>>>    <component name="HelloWorldService">
>>>>        <implementation.bpel process="hns:HelloWorld"/>
>>>>        <reference name="greetingsPartnerLink"
>>>> target="GreetingsServiceComponent"/>
>>>>    </component>
>>>>
>>>>    <component name="GreetingsServiceComponent">
>>>>        <implementation.java class="greetings.GreetingsServiceImpl" />
>>>>            <service name="GreetingsService">
>>>>
>>>>                <interface.wsdl
>>>> interface="http://greetings#wsdl.interface(Greetings)" />
>>>>            </service>
>>>>    </component>
>>>> </composite>
>>>>
>>>> Please let me know if you have questions or any problems running the
>>>> sample test scenario.
>>>>
>>>>
>>>> [1]
>>>>
>>>> https://svn.apache.org/repos/asf/tuscany/java/sca/itest/bpel/helloworld-reference/
>>>>
>>>>
>>>> On Thu, Aug 28, 2008 at 8:21 PM, xuhongbo <xu...@tongtech.com> wrote:
>>>>
>>>>
>>>>> Hi
>>>>>       Now I am using  the sca provided build in bpel engine, and want
>>>>> to
>>>>> invoke another sca-component in the bpel process;
>>>>>       Though I could deploy the -java-implement sca component as
>>>>> web-service by ws binding,then access it in bpel by import a wsdl
>>>>> process.
>>>>> This way ask for all sca-java-componet deployed as web-service, and
>>>>> seems
>>>>> too trival for deployment.
>>>>>       So does anyone know how to use a sca-reference in a BPEL
>>>>> implement
>>>>> component to access another sca component? Or some other mechanism can
>>>>> direct access sca-component? Typically sca component invoked by the
>>>>> bpel
>>>>> is
>>>>> always implement as Java Language.
>>>>>
>>>>> Thanks
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>
>>
>>
>>
>
>
>
>
>
>
>
> DISCLAIMER:
>
> "The information in this e-mail and any attachment is intended only for the
> person to whom it is addressed and may contain confidential and/or
> privileged material. If you have received this e-mail in error, kindly
> contact the sender and destroy all copies of the original communication. IBS
> makes no warranty, express or implied, nor guarantees the accuracy, adequacy
> or completeness of the information contained in this email or any attachment
> and is not liable for any errors, defects, omissions, viruses or for
> resultant loss or damage, if any, direct or indirect."
>
>
>
>
>



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

Re: how to access another SCA Component in BPEL

Posted by Luciano Resende <lu...@gmail.com>.
A scenario very similar to what you have described below is
demonstrated in our helloworld-reference itest, and responding to your
question, in this case we are not going to make a webservice call, but
a local call, and you can even remove the binding.ws from the
component B service.

As for your previous question about bpel and widget, I'll see if I can
find some time to reproduce the sample scenario in my sandbox.

[1] https://svn.apache.org/repos/asf/tuscany/branches/sca-java-1.x/itest/bpel/helloworld-reference

On Tue, Jun 2, 2009 at 11:01 PM, Rupesh M G
<Ru...@ibsplc.com> wrote:
>
> Hello,
>
>         Consider this interaction scenario in the same tuscany runtime.
>
>         SCA component A --> implementation.bpel
>         SCA component B --> implementation.java with binding.ws
>
>         If A invokes B, will it be a local java call? or a webservice call.
>
>         In my understanding, BPEL can manage only webservice interactions.
>
>         I would like to know if SCA / tuscany does any extra step to avoid
> this marshalling / unmarshalling overhead.
>
>
> Regards,
> Rupesh
>
>
>
> Peng Han <ha...@FernUni-Hagen.de>
>
> 06/01/2009 03:50 PM
>
> Please respond to
> user@tuscany.apache.org
> To
> user@tuscany.apache.org
> cc
> Subject
> Re: how to access another SCA Component in BPEL
>
>
>
>
> Dear Resende:
>
> Thanks a lot for your prompt response.
>
> I changed the binding to jsoncrpc and get the following error:
>
> Exception in thread "main" org.osoa.sca.ServiceRuntimeException:
> java.lang.ClassCastException:
> org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLInterfaceImpl cannot
> be cast to org.apache.tuscany.sca.interfacedef.java.JavaInterface
>    at
> org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:220)
>    at
> org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:63)
>    at helloworld.BPELClient.main(BPELClient.java:47)
> Caused by: java.lang.ClassCastException:
> org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLInterfaceImpl cannot
> be cast to org.apache.tuscany.sca.interfacedef.java.JavaInterface
>    at
> org.apache.tuscany.sca.binding.jsonrpc.provider.JSONRPCServiceBindingProvider.getTargetJavaClass(JSONRPCServiceBindingProvider.java:158)
>    at
> org.apache.tuscany.sca.binding.jsonrpc.provider.JSONRPCServiceBindingProvider.start(JSONRPCServiceBindingProvider.java:91)
>    at
> org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl$3.run(CompositeActivatorImpl.java:630)
>    at java.security.AccessController.doPrivileged(Native Method)
>    at
> org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:628)
>    at
> org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:560)
>    at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:668)
>    at
> org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(DefaultSCADomain.java:182)
>    at
> org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(DefaultSCADomain.java:97)
>    at
> org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:182)
>    ... 2 more
>
>
> However, if I change the interface of BPEL component service from WS to
> Java as follows:
>
> <component name="BPELHelloWorldComponent">
>    <implementation.bpel process="hns:HelloWorld"/>
>    <service name="helloPartnerLink">
>      <interface.java
> interface="org.apache.tuscany.implementation.bpel.example.helloworld.HelloPortType"/>
>      <tuscany:binding.jsonrpc uri="http://localhost:8080/services"/>
>    </service>
>  </component>
>
> I will get a "null" return value. The code in javascript is as follows:
>
> //@Reference
> var mainRegReference = new Reference( "RegistrationReference" );
>
> var mytext = "Hello again";
> document.write(mytext);
>
>
> function getWeather() {
>        var city = document.getElementById( "cityField" ).value;
>        var country = document.getElementById( "countryField" ).value;
>
>        var returnString = mainRegReference.hello("weather",
> displayWeather);
> }
>
> function displayWeather(weather){
>    document.write(weather);
> }
>
>
> Best Regards
>
> Peng
>> On Sat, May 30, 2009 at 12:35 PM, Peng Han <ha...@gmail.com> wrote:
>>
>>> Dear Resende:
>>>
>>> I tried to access the links you provided but it seems that it was broken.
>>> Would you please check it?
>>>
>>>
>>
>>
>> https://svn.apache.org/repos/asf/tuscany/branches/sca-java-1.x/itest/bpel/helloworld-reference/
>>
>>
>>> Also I would like to ask whether it is possible to consume a service
>>> provided by a .bpel implemented component
>>> from a component implemented as widget and how. I tried to do it in the
>>> following composite but the program
>>> seems stuck when invoking the service.
>>>
>>
>> You should be able to do this, using json-rpc binding.
>> I responded to your other thread "Wiring a Widget Component and BPEL
>> Component" with more details on how to try to accomplish this, but
>> feel free to let me know if you are not making progress, and I can try
>> to get some examples available.
>>
>>
>>> Thanks a lot!
>>>
>>> the composite is as follows:
>>>
>>> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
>>>
>>>
>>> xmlns:hns="http://tuscany.apache.org/implementation/bpel/example/helloworld"
>>>   xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
>>> name="helloworld"
>>>   targetNamespace="http://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 uri="http://localhost:8080/BPELHelloWorldComponent"
>>> />
>>>       </service>
>>>   </component>
>>>   <component name="RegistrationWidgetComponent">
>>>       <tuscany:implementation.widget location="Registration.html" />
>>>       <service name="Widget">
>>>           <tuscany:binding.http uri="http://localhost:8080/Registration"
>>> />
>>>       </service>
>>>       <reference name="RegistrationReference">
>>>           <interface.wsdl
>>>
>>>
>>> interface="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl#wsdl.interface(HelloPortType)"
>>> />
>>>           <binding.ws uri="http://localhost:8080/BPELHelloWorldComponent"
>>> />
>>>       </reference>
>>>   </component>
>>>   <service name="RegistrationService"
>>> promote="RegistrationWidgetComponent/Widget" />
>>>   <wire source="RegistrationWidgetComponent/RegistrationReference"
>>>       target="BPELHelloWorldComponent/helloPartnerLink" />
>>> </composite>
>>>
>>> Best Regards
>>>
>>> P.Han
>>>
>>>> This is demonstrated in the following bpel-reference iTest [1]. In
>>>> this case, we have a grretings java component, and then a BPEL
>>>> component that have a reference to this service as described in the
>>>> composite below.
>>>>
>>>> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
>>>>        targetNamespace="http://bpel"
>>>>    xmlns:hns="http://helloworld"
>>>>    name="helloworld">
>>>>
>>>>    <component name="HelloWorldService">
>>>>        <implementation.bpel process="hns:HelloWorld"/>
>>>>        <reference name="greetingsPartnerLink"
>>>> target="GreetingsServiceComponent"/>
>>>>    </component>
>>>>
>>>>    <component name="GreetingsServiceComponent">
>>>>        <implementation.java class="greetings.GreetingsServiceImpl" />
>>>>            <service name="GreetingsService">
>>>>
>>>>                <interface.wsdl
>>>> interface="http://greetings#wsdl.interface(Greetings)" />
>>>>            </service>
>>>>    </component>
>>>> </composite>
>>>>
>>>> Please let me know if you have questions or any problems running the
>>>> sample test scenario.
>>>>
>>>>
>>>> [1]
>>>>
>>>> https://svn.apache.org/repos/asf/tuscany/java/sca/itest/bpel/helloworld-reference/
>>>>
>>>>
>>>> On Thu, Aug 28, 2008 at 8:21 PM, xuhongbo <xu...@tongtech.com> wrote:
>>>>
>>>>
>>>>> Hi
>>>>>       Now I am using  the sca provided build in bpel engine, and want
>>>>> to
>>>>> invoke another sca-component in the bpel process;
>>>>>       Though I could deploy the -java-implement sca component as
>>>>> web-service by ws binding,then access it in bpel by import a wsdl
>>>>> process.
>>>>> This way ask for all sca-java-componet deployed as web-service, and
>>>>> seems
>>>>> too trival for deployment.
>>>>>       So does anyone know how to use a sca-reference in a BPEL
>>>>> implement
>>>>> component to access another sca component? Or some other mechanism can
>>>>> direct access sca-component? Typically sca component invoked by the
>>>>> bpel
>>>>> is
>>>>> always implement as Java Language.
>>>>>
>>>>> Thanks
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>
>>
>>
>>
>
>
>
>
>
>
>
> DISCLAIMER:
>
> "The information in this e-mail and any attachment is intended only for the
> person to whom it is addressed and may contain confidential and/or
> privileged material. If you have received this e-mail in error, kindly
> contact the sender and destroy all copies of the original communication. IBS
> makes no warranty, express or implied, nor guarantees the accuracy, adequacy
> or completeness of the information contained in this email or any attachment
> and is not liable for any errors, defects, omissions, viruses or for
> resultant loss or damage, if any, direct or indirect."
>
>
>
>
>



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

Re: how to access another SCA Component in BPEL

Posted by Rupesh M G <Ru...@ibsplc.com>.
Hello,

        Consider this interaction scenario in the same tuscany runtime.

        SCA component A --> implementation.bpel
        SCA component B --> implementation.java with binding.ws

        If A invokes B, will it be a local java call? or a webservice 
call.

        In my understanding, BPEL can manage only webservice interactions. 


        I would like to know if SCA / tuscany does any extra step to avoid 
this marshalling / unmarshalling overhead.


Regards,
Rupesh




Peng Han <ha...@FernUni-Hagen.de> 
06/01/2009 03:50 PM
Please respond to
user@tuscany.apache.org


To
user@tuscany.apache.org
cc

Subject
Re: how to access another SCA Component in BPEL






Dear Resende:

Thanks a lot for your prompt response.

I changed the binding to jsoncrpc and get the following error:

Exception in thread "main" org.osoa.sca.ServiceRuntimeException: 
java.lang.ClassCastException: 
org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLInterfaceImpl cannot 
be cast to org.apache.tuscany.sca.interfacedef.java.JavaInterface
    at 
org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:220)
    at 
org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:63)
    at helloworld.BPELClient.main(BPELClient.java:47)
Caused by: java.lang.ClassCastException: 
org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLInterfaceImpl cannot 
be cast to org.apache.tuscany.sca.interfacedef.java.JavaInterface
    at 
org.apache.tuscany.sca.binding.jsonrpc.provider.JSONRPCServiceBindingProvider.getTargetJavaClass(JSONRPCServiceBindingProvider.java:158)
    at 
org.apache.tuscany.sca.binding.jsonrpc.provider.JSONRPCServiceBindingProvider.start(JSONRPCServiceBindingProvider.java:91)
    at 
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl$3.run(CompositeActivatorImpl.java:630)
    at java.security.AccessController.doPrivileged(Native Method)
    at 
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:628)
    at 
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:560)
    at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:668)
    at 
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(DefaultSCADomain.java:182)
    at 
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(DefaultSCADomain.java:97)
    at 
org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:182)
    ... 2 more


However, if I change the interface of BPEL component service from WS to 
Java as follows:

<component name="BPELHelloWorldComponent">
    <implementation.bpel process="hns:HelloWorld"/>
    <service name="helloPartnerLink">
      <interface.java 
interface="org.apache.tuscany.implementation.bpel.example.helloworld.HelloPortType"/>
      <tuscany:binding.jsonrpc uri="http://localhost:8080/services"/>
    </service>
  </component>

I will get a "null" return value. The code in javascript is as follows:

//@Reference
var mainRegReference = new Reference( "RegistrationReference" );

var mytext = "Hello again";
document.write(mytext);


function getWeather() {
        var city = document.getElementById( "cityField" ).value;
        var country = document.getElementById( "countryField" ).value;
 
        var returnString = mainRegReference.hello("weather", 
displayWeather); 
}

function displayWeather(weather){
    document.write(weather);
}


Best Regards

Peng
> On Sat, May 30, 2009 at 12:35 PM, Peng Han <ha...@gmail.com> wrote:
> 
>> Dear Resende:
>>
>> I tried to access the links you provided but it seems that it was 
broken.
>> Would you please check it?
>>
>> 
>
> 
https://svn.apache.org/repos/asf/tuscany/branches/sca-java-1.x/itest/bpel/helloworld-reference/

>
> 
>> Also I would like to ask whether it is possible to consume a service
>> provided by a .bpel implemented component
>> from a component implemented as widget and how. I tried to do it in the
>> following composite but the program
>> seems stuck when invoking the service.
>> 
>
> You should be able to do this, using json-rpc binding.
> I responded to your other thread "Wiring a Widget Component and BPEL
> Component" with more details on how to try to accomplish this, but
> feel free to let me know if you are not making progress, and I can try
> to get some examples available.
>
> 
>> Thanks a lot!
>>
>> the composite is as follows:
>>
>> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
>>
>> xmlns:hns="
http://tuscany.apache.org/implementation/bpel/example/helloworld"
>>   xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" 
name="helloworld"
>>   targetNamespace="http://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 uri="
http://localhost:8080/BPELHelloWorldComponent" />
>>       </service>
>>   </component>
>>   <component name="RegistrationWidgetComponent">
>>       <tuscany:implementation.widget location="Registration.html" />
>>       <service name="Widget">
>>           <tuscany:binding.http uri="http://localhost:8080/Registration
" />
>>       </service>
>>       <reference name="RegistrationReference">
>>           <interface.wsdl
>>
>> interface="
http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl#wsdl.interface(HelloPortType)
"
>> />
>>           <binding.ws uri="
http://localhost:8080/BPELHelloWorldComponent" />
>>       </reference>
>>   </component>
>>   <service name="RegistrationService"
>> promote="RegistrationWidgetComponent/Widget" />
>>   <wire source="RegistrationWidgetComponent/RegistrationReference"
>>       target="BPELHelloWorldComponent/helloPartnerLink" />
>> </composite>
>>
>> Best Regards
>>
>> P.Han
>> 
>>> This is demonstrated in the following bpel-reference iTest [1]. In
>>> this case, we have a grretings java component, and then a BPEL
>>> component that have a reference to this service as described in the
>>> composite below.
>>>
>>> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
>>>        targetNamespace="http://bpel"
>>>    xmlns:hns="http://helloworld"
>>>    name="helloworld">
>>>
>>>    <component name="HelloWorldService">
>>>        <implementation.bpel process="hns:HelloWorld"/>
>>>        <reference name="greetingsPartnerLink"
>>> target="GreetingsServiceComponent"/>
>>>    </component>
>>>
>>>    <component name="GreetingsServiceComponent">
>>>        <implementation.java class="greetings.GreetingsServiceImpl" />
>>>            <service name="GreetingsService">
>>>
>>>                <interface.wsdl
>>> interface="http://greetings#wsdl.interface(Greetings)" />
>>>            </service>
>>>    </component>
>>> </composite>
>>>
>>> Please let me know if you have questions or any problems running the
>>> sample test scenario.
>>>
>>>
>>> [1]
>>> 
https://svn.apache.org/repos/asf/tuscany/java/sca/itest/bpel/helloworld-reference/

>>>
>>>
>>> On Thu, Aug 28, 2008 at 8:21 PM, xuhongbo <xu...@tongtech.com> wrote:
>>>
>>> 
>>>> Hi
>>>>       Now I am using  the sca provided build in bpel engine, and want 
to
>>>> invoke another sca-component in the bpel process;
>>>>       Though I could deploy the -java-implement sca component as
>>>> web-service by ws binding,then access it in bpel by import a wsdl
>>>> process.
>>>> This way ask for all sca-java-componet deployed as web-service, and 
seems
>>>> too trival for deployment.
>>>>       So does anyone know how to use a sca-reference in a BPEL 
implement
>>>> component to access another sca component? Or some other mechanism 
can
>>>> direct access sca-component? Typically sca component invoked by the 
bpel
>>>> is
>>>> always implement as Java Language.
>>>>
>>>> Thanks
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> 
>>>
>>>
>>> 
>> 
>
>
>
> 







DISCLAIMER: 

"The information in this e-mail and any attachment is intended only for 
the person to whom it is addressed and may contain confidential and/or 
privileged material. If you have received this e-mail in error, kindly 
contact the sender and destroy all copies of the original communication. 
IBS makes no warranty, express or implied, nor guarantees the accuracy, 
adequacy or completeness of the information contained in this email or any 
attachment and is not liable for any errors, defects, omissions, viruses 
or for resultant loss or damage, if any, direct or indirect."





Re: how to access another SCA Component in BPEL

Posted by Rupesh M G <Ru...@ibsplc.com>.
Hello,

        Consider this interaction scenario in the same tuscany runtime.

        SCA component A --> implementation.bpel
        SCA component B --> implementation.java with binding.ws

        If A invokes B, will it be a local java call? or a webservice 
call.

        In my understanding, BPEL can manage only webservice interactions. 


        I would like to know if SCA / tuscany does any extra step to avoid 
this marshalling / unmarshalling overhead.


Regards,
Rupesh




Peng Han <ha...@FernUni-Hagen.de> 
06/01/2009 03:50 PM
Please respond to
user@tuscany.apache.org


To
user@tuscany.apache.org
cc

Subject
Re: how to access another SCA Component in BPEL






Dear Resende:

Thanks a lot for your prompt response.

I changed the binding to jsoncrpc and get the following error:

Exception in thread "main" org.osoa.sca.ServiceRuntimeException: 
java.lang.ClassCastException: 
org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLInterfaceImpl cannot 
be cast to org.apache.tuscany.sca.interfacedef.java.JavaInterface
    at 
org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:220)
    at 
org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:63)
    at helloworld.BPELClient.main(BPELClient.java:47)
Caused by: java.lang.ClassCastException: 
org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLInterfaceImpl cannot 
be cast to org.apache.tuscany.sca.interfacedef.java.JavaInterface
    at 
org.apache.tuscany.sca.binding.jsonrpc.provider.JSONRPCServiceBindingProvider.getTargetJavaClass(JSONRPCServiceBindingProvider.java:158)
    at 
org.apache.tuscany.sca.binding.jsonrpc.provider.JSONRPCServiceBindingProvider.start(JSONRPCServiceBindingProvider.java:91)
    at 
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl$3.run(CompositeActivatorImpl.java:630)
    at java.security.AccessController.doPrivileged(Native Method)
    at 
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:628)
    at 
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:560)
    at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:668)
    at 
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(DefaultSCADomain.java:182)
    at 
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(DefaultSCADomain.java:97)
    at 
org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:182)
    ... 2 more


However, if I change the interface of BPEL component service from WS to 
Java as follows:

<component name="BPELHelloWorldComponent">
    <implementation.bpel process="hns:HelloWorld"/>
    <service name="helloPartnerLink">
      <interface.java 
interface="org.apache.tuscany.implementation.bpel.example.helloworld.HelloPortType"/>
      <tuscany:binding.jsonrpc uri="http://localhost:8080/services"/>
    </service>
  </component>

I will get a "null" return value. The code in javascript is as follows:

//@Reference
var mainRegReference = new Reference( "RegistrationReference" );

var mytext = "Hello again";
document.write(mytext);


function getWeather() {
        var city = document.getElementById( "cityField" ).value;
        var country = document.getElementById( "countryField" ).value;
 
        var returnString = mainRegReference.hello("weather", 
displayWeather); 
}

function displayWeather(weather){
    document.write(weather);
}


Best Regards

Peng
> On Sat, May 30, 2009 at 12:35 PM, Peng Han <ha...@gmail.com> wrote:
> 
>> Dear Resende:
>>
>> I tried to access the links you provided but it seems that it was 
broken.
>> Would you please check it?
>>
>> 
>
> 
https://svn.apache.org/repos/asf/tuscany/branches/sca-java-1.x/itest/bpel/helloworld-reference/

>
> 
>> Also I would like to ask whether it is possible to consume a service
>> provided by a .bpel implemented component
>> from a component implemented as widget and how. I tried to do it in the
>> following composite but the program
>> seems stuck when invoking the service.
>> 
>
> You should be able to do this, using json-rpc binding.
> I responded to your other thread "Wiring a Widget Component and BPEL
> Component" with more details on how to try to accomplish this, but
> feel free to let me know if you are not making progress, and I can try
> to get some examples available.
>
> 
>> Thanks a lot!
>>
>> the composite is as follows:
>>
>> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
>>
>> xmlns:hns="
http://tuscany.apache.org/implementation/bpel/example/helloworld"
>>   xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" 
name="helloworld"
>>   targetNamespace="http://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 uri="
http://localhost:8080/BPELHelloWorldComponent" />
>>       </service>
>>   </component>
>>   <component name="RegistrationWidgetComponent">
>>       <tuscany:implementation.widget location="Registration.html" />
>>       <service name="Widget">
>>           <tuscany:binding.http uri="http://localhost:8080/Registration
" />
>>       </service>
>>       <reference name="RegistrationReference">
>>           <interface.wsdl
>>
>> interface="
http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl#wsdl.interface(HelloPortType)
"
>> />
>>           <binding.ws uri="
http://localhost:8080/BPELHelloWorldComponent" />
>>       </reference>
>>   </component>
>>   <service name="RegistrationService"
>> promote="RegistrationWidgetComponent/Widget" />
>>   <wire source="RegistrationWidgetComponent/RegistrationReference"
>>       target="BPELHelloWorldComponent/helloPartnerLink" />
>> </composite>
>>
>> Best Regards
>>
>> P.Han
>> 
>>> This is demonstrated in the following bpel-reference iTest [1]. In
>>> this case, we have a grretings java component, and then a BPEL
>>> component that have a reference to this service as described in the
>>> composite below.
>>>
>>> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
>>>        targetNamespace="http://bpel"
>>>    xmlns:hns="http://helloworld"
>>>    name="helloworld">
>>>
>>>    <component name="HelloWorldService">
>>>        <implementation.bpel process="hns:HelloWorld"/>
>>>        <reference name="greetingsPartnerLink"
>>> target="GreetingsServiceComponent"/>
>>>    </component>
>>>
>>>    <component name="GreetingsServiceComponent">
>>>        <implementation.java class="greetings.GreetingsServiceImpl" />
>>>            <service name="GreetingsService">
>>>
>>>                <interface.wsdl
>>> interface="http://greetings#wsdl.interface(Greetings)" />
>>>            </service>
>>>    </component>
>>> </composite>
>>>
>>> Please let me know if you have questions or any problems running the
>>> sample test scenario.
>>>
>>>
>>> [1]
>>> 
https://svn.apache.org/repos/asf/tuscany/java/sca/itest/bpel/helloworld-reference/

>>>
>>>
>>> On Thu, Aug 28, 2008 at 8:21 PM, xuhongbo <xu...@tongtech.com> wrote:
>>>
>>> 
>>>> Hi
>>>>       Now I am using  the sca provided build in bpel engine, and want 
to
>>>> invoke another sca-component in the bpel process;
>>>>       Though I could deploy the -java-implement sca component as
>>>> web-service by ws binding,then access it in bpel by import a wsdl
>>>> process.
>>>> This way ask for all sca-java-componet deployed as web-service, and 
seems
>>>> too trival for deployment.
>>>>       So does anyone know how to use a sca-reference in a BPEL 
implement
>>>> component to access another sca component? Or some other mechanism 
can
>>>> direct access sca-component? Typically sca component invoked by the 
bpel
>>>> is
>>>> always implement as Java Language.
>>>>
>>>> Thanks
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> 
>>>
>>>
>>> 
>> 
>
>
>
> 







DISCLAIMER: 

"The information in this e-mail and any attachment is intended only for 
the person to whom it is addressed and may contain confidential and/or 
privileged material. If you have received this e-mail in error, kindly 
contact the sender and destroy all copies of the original communication. 
IBS makes no warranty, express or implied, nor guarantees the accuracy, 
adequacy or completeness of the information contained in this email or any 
attachment and is not liable for any errors, defects, omissions, viruses 
or for resultant loss or damage, if any, direct or indirect."





Re: how to access another SCA Component in BPEL

Posted by Peng Han <ha...@FernUni-Hagen.de>.
Dear Resende:

Thanks a lot for your prompt response.

I changed the binding to jsoncrpc and get the following error:

Exception in thread "main" org.osoa.sca.ServiceRuntimeException: 
java.lang.ClassCastException: 
org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLInterfaceImpl cannot 
be cast to org.apache.tuscany.sca.interfacedef.java.JavaInterface
    at 
org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:220)
    at 
org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:63)
    at helloworld.BPELClient.main(BPELClient.java:47)
Caused by: java.lang.ClassCastException: 
org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLInterfaceImpl cannot 
be cast to org.apache.tuscany.sca.interfacedef.java.JavaInterface
    at 
org.apache.tuscany.sca.binding.jsonrpc.provider.JSONRPCServiceBindingProvider.getTargetJavaClass(JSONRPCServiceBindingProvider.java:158)
    at 
org.apache.tuscany.sca.binding.jsonrpc.provider.JSONRPCServiceBindingProvider.start(JSONRPCServiceBindingProvider.java:91)
    at 
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl$3.run(CompositeActivatorImpl.java:630)
    at java.security.AccessController.doPrivileged(Native Method)
    at 
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:628)
    at 
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:560)
    at org.apache.tuscany.sca.node.impl.NodeImpl.start(NodeImpl.java:668)
    at 
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(DefaultSCADomain.java:182)
    at 
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.<init>(DefaultSCADomain.java:97)
    at 
org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:182)
    ... 2 more


However, if I change the interface of BPEL component service from WS to 
Java as follows:

<component name="BPELHelloWorldComponent">
    <implementation.bpel process="hns:HelloWorld"/>
    <service name="helloPartnerLink">
      <interface.java 
interface="org.apache.tuscany.implementation.bpel.example.helloworld.HelloPortType"/>
      <tuscany:binding.jsonrpc uri="http://localhost:8080/services"/>
    </service>
  </component>

I will get a "null" return value. The code in javascript is as follows:

//@Reference
var mainRegReference = new Reference( "RegistrationReference" );

var mytext = "Hello again";
document.write(mytext);


function getWeather() {
        var city = document.getElementById( "cityField" ).value;
        var country = document.getElementById( "countryField" ).value;
       
        var returnString = mainRegReference.hello("weather", 
displayWeather);           
}

function displayWeather(weather){
    document.write(weather);
}


Best Regards

Peng
> On Sat, May 30, 2009 at 12:35 PM, Peng Han <ha...@gmail.com> wrote:
>   
>> Dear Resende:
>>
>> I tried to access the links you provided but it seems that it was broken.
>> Would you please check it?
>>
>>     
>
> https://svn.apache.org/repos/asf/tuscany/branches/sca-java-1.x/itest/bpel/helloworld-reference/
>
>   
>> Also I would like to ask whether it is possible to consume a service
>> provided by a .bpel implemented component
>> from a component implemented as widget and how. I tried to do it in the
>> following composite but the program
>> seems stuck when invoking the service.
>>     
>
> You should be able to do this, using json-rpc binding.
> I responded to your other thread "Wiring a Widget Component and BPEL
> Component" with more details on how to try to accomplish this, but
> feel free to let me know if you are not making progress, and I can try
> to get some examples available.
>
>   
>> Thanks a lot!
>>
>> the composite is as follows:
>>
>> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
>>
>> xmlns:hns="http://tuscany.apache.org/implementation/bpel/example/helloworld"
>>   xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" name="helloworld"
>>   targetNamespace="http://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 uri="http://localhost:8080/BPELHelloWorldComponent" />
>>       </service>
>>   </component>
>>   <component name="RegistrationWidgetComponent">
>>       <tuscany:implementation.widget location="Registration.html" />
>>       <service name="Widget">
>>           <tuscany:binding.http uri="http://localhost:8080/Registration" />
>>       </service>
>>       <reference name="RegistrationReference">
>>           <interface.wsdl
>>
>> interface="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl#wsdl.interface(HelloPortType)"
>> />
>>           <binding.ws uri="http://localhost:8080/BPELHelloWorldComponent" />
>>       </reference>
>>   </component>
>>   <service name="RegistrationService"
>> promote="RegistrationWidgetComponent/Widget" />
>>   <wire source="RegistrationWidgetComponent/RegistrationReference"
>>       target="BPELHelloWorldComponent/helloPartnerLink" />
>> </composite>
>>
>> Best Regards
>>
>> P.Han
>>     
>>> This is demonstrated in the following bpel-reference iTest [1]. In
>>> this case, we have a grretings java component, and then a BPEL
>>> component that have a reference to this service as described in the
>>> composite below.
>>>
>>> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
>>>        targetNamespace="http://bpel"
>>>    xmlns:hns="http://helloworld"
>>>    name="helloworld">
>>>
>>>    <component name="HelloWorldService">
>>>        <implementation.bpel process="hns:HelloWorld"/>
>>>        <reference name="greetingsPartnerLink"
>>> target="GreetingsServiceComponent"/>
>>>    </component>
>>>
>>>    <component name="GreetingsServiceComponent">
>>>        <implementation.java class="greetings.GreetingsServiceImpl" />
>>>            <service name="GreetingsService">
>>>
>>>                <interface.wsdl
>>> interface="http://greetings#wsdl.interface(Greetings)" />
>>>            </service>
>>>    </component>
>>> </composite>
>>>
>>> Please let me know if you have questions or any problems running the
>>> sample test scenario.
>>>
>>>
>>> [1]
>>> https://svn.apache.org/repos/asf/tuscany/java/sca/itest/bpel/helloworld-reference/
>>>
>>>
>>> On Thu, Aug 28, 2008 at 8:21 PM, xuhongbo <xu...@tongtech.com> wrote:
>>>
>>>       
>>>> Hi
>>>>       Now I am using  the sca provided build in bpel engine, and want to
>>>> invoke another sca-component in the bpel process;
>>>>       Though I could deploy the -java-implement sca component as
>>>> web-service by ws binding,then access it in bpel by import a wsdl
>>>> process.
>>>> This way ask for all sca-java-componet deployed as web-service, and seems
>>>> too trival for deployment.
>>>>       So does anyone know how to use a sca-reference in a BPEL implement
>>>> component to access another sca component? Or some other mechanism can
>>>> direct access sca-component? Typically sca component invoked by the bpel
>>>> is
>>>> always implement as Java Language.
>>>>
>>>> Thanks
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>         
>>>
>>>
>>>       
>>     
>
>
>
>   


Re: how to access another SCA Component in BPEL

Posted by Luciano Resende <lu...@gmail.com>.
On Sat, May 30, 2009 at 12:35 PM, Peng Han <ha...@gmail.com> wrote:
> Dear Resende:
>
> I tried to access the links you provided but it seems that it was broken.
> Would you please check it?
>

https://svn.apache.org/repos/asf/tuscany/branches/sca-java-1.x/itest/bpel/helloworld-reference/

> Also I would like to ask whether it is possible to consume a service
> provided by a .bpel implemented component
> from a component implemented as widget and how. I tried to do it in the
> following composite but the program
> seems stuck when invoking the service.

You should be able to do this, using json-rpc binding.
I responded to your other thread "Wiring a Widget Component and BPEL
Component" with more details on how to try to accomplish this, but
feel free to let me know if you are not making progress, and I can try
to get some examples available.

>
> Thanks a lot!
>
> the composite is as follows:
>
> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
>
> xmlns:hns="http://tuscany.apache.org/implementation/bpel/example/helloworld"
>   xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" name="helloworld"
>   targetNamespace="http://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 uri="http://localhost:8080/BPELHelloWorldComponent" />
>       </service>
>   </component>
>   <component name="RegistrationWidgetComponent">
>       <tuscany:implementation.widget location="Registration.html" />
>       <service name="Widget">
>           <tuscany:binding.http uri="http://localhost:8080/Registration" />
>       </service>
>       <reference name="RegistrationReference">
>           <interface.wsdl
>
> interface="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl#wsdl.interface(HelloPortType)"
> />
>           <binding.ws uri="http://localhost:8080/BPELHelloWorldComponent" />
>       </reference>
>   </component>
>   <service name="RegistrationService"
> promote="RegistrationWidgetComponent/Widget" />
>   <wire source="RegistrationWidgetComponent/RegistrationReference"
>       target="BPELHelloWorldComponent/helloPartnerLink" />
> </composite>
>
> Best Regards
>
> P.Han
>>
>> This is demonstrated in the following bpel-reference iTest [1]. In
>> this case, we have a grretings java component, and then a BPEL
>> component that have a reference to this service as described in the
>> composite below.
>>
>> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
>>        targetNamespace="http://bpel"
>>    xmlns:hns="http://helloworld"
>>    name="helloworld">
>>
>>    <component name="HelloWorldService">
>>        <implementation.bpel process="hns:HelloWorld"/>
>>        <reference name="greetingsPartnerLink"
>> target="GreetingsServiceComponent"/>
>>    </component>
>>
>>    <component name="GreetingsServiceComponent">
>>        <implementation.java class="greetings.GreetingsServiceImpl" />
>>            <service name="GreetingsService">
>>
>>                <interface.wsdl
>> interface="http://greetings#wsdl.interface(Greetings)" />
>>            </service>
>>    </component>
>> </composite>
>>
>> Please let me know if you have questions or any problems running the
>> sample test scenario.
>>
>>
>> [1]
>> https://svn.apache.org/repos/asf/tuscany/java/sca/itest/bpel/helloworld-reference/
>>
>>
>> On Thu, Aug 28, 2008 at 8:21 PM, xuhongbo <xu...@tongtech.com> wrote:
>>
>>>
>>> Hi
>>>       Now I am using  the sca provided build in bpel engine, and want to
>>> invoke another sca-component in the bpel process;
>>>       Though I could deploy the -java-implement sca component as
>>> web-service by ws binding,then access it in bpel by import a wsdl
>>> process.
>>> This way ask for all sca-java-componet deployed as web-service, and seems
>>> too trival for deployment.
>>>       So does anyone know how to use a sca-reference in a BPEL implement
>>> component to access another sca component? Or some other mechanism can
>>> direct access sca-component? Typically sca component invoked by the bpel
>>> is
>>> always implement as Java Language.
>>>
>>> Thanks
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>
>



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

Re: how to access another SCA Component in BPEL

Posted by Peng Han <ha...@gmail.com>.
Dear Resende:

I tried to access the links you provided but it seems that it was 
broken. Would you please check it?

Also I would like to ask whether it is possible to consume a service 
provided by a .bpel implemented component
from a component implemented as widget and how. I tried to do it in the 
following composite but the program
seems stuck when invoking the service.

Thanks a lot!

the composite is as follows:

<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
    
xmlns:hns="http://tuscany.apache.org/implementation/bpel/example/helloworld"
    xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0" 
name="helloworld"
    targetNamespace="http://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 
uri="http://localhost:8080/BPELHelloWorldComponent" />
        </service>
    </component>
    <component name="RegistrationWidgetComponent">
        <tuscany:implementation.widget location="Registration.html" />
        <service name="Widget">
            <tuscany:binding.http 
uri="http://localhost:8080/Registration" />
        </service>
        <reference name="RegistrationReference">
            <interface.wsdl
                
interface="http://tuscany.apache.org/implementation/bpel/example/helloworld.wsdl#wsdl.interface(HelloPortType)" 
/>
            <binding.ws 
uri="http://localhost:8080/BPELHelloWorldComponent" />
        </reference>
    </component>
    <service name="RegistrationService" 
promote="RegistrationWidgetComponent/Widget" />
    <wire source="RegistrationWidgetComponent/RegistrationReference"
        target="BPELHelloWorldComponent/helloPartnerLink" />
</composite>

Best Regards

P.Han
> This is demonstrated in the following bpel-reference iTest [1]. In
> this case, we have a grretings java component, and then a BPEL
> component that have a reference to this service as described in the
> composite below.
>
> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
> 	targetNamespace="http://bpel"
>     xmlns:hns="http://helloworld"
>     name="helloworld">
>
>     <component name="HelloWorldService">
>     	<implementation.bpel process="hns:HelloWorld"/>
>     	<reference name="greetingsPartnerLink" target="GreetingsServiceComponent"/>
>     </component>
>
>     <component name="GreetingsServiceComponent">
>         <implementation.java class="greetings.GreetingsServiceImpl" />
> 	    <service name="GreetingsService">
>
> 	    	<interface.wsdl interface="http://greetings#wsdl.interface(Greetings)" />
> 	    </service>
>     </component>
> </composite>
>
> Please let me know if you have questions or any problems running the
> sample test scenario.
>
>
> [1] https://svn.apache.org/repos/asf/tuscany/java/sca/itest/bpel/helloworld-reference/
>
>
> On Thu, Aug 28, 2008 at 8:21 PM, xuhongbo <xu...@tongtech.com> wrote:
>   
>> Hi
>>        Now I am using  the sca provided build in bpel engine, and want to
>> invoke another sca-component in the bpel process;
>>        Though I could deploy the -java-implement sca component as
>> web-service by ws binding,then access it in bpel by import a wsdl process.
>> This way ask for all sca-java-componet deployed as web-service, and seems
>> too trival for deployment.
>>        So does anyone know how to use a sca-reference in a BPEL implement
>> component to access another sca component? Or some other mechanism can
>> direct access sca-component? Typically sca component invoked by the bpel is
>> always implement as Java Language.
>>
>> Thanks
>>
>>
>>
>>
>>     
>
>
>
>   


Re: how to access another SCA Component in BPEL

Posted by xuhongbo <xu...@tongtech.com>.
Hi, Luciano Resende
	Thanks a lot, 
	It's cool, and works very well.


----- -----
From: Luciano Resende [mailto:luckbr1975@gmail.com] 
Date: 2008/8/29 12:01
To: user@tuscany.apache.org
Subject: Re: how to access another SCA Component in BPEL

This is demonstrated in the following bpel-reference iTest [1]. In
this case, we have a grretings java component, and then a BPEL
component that have a reference to this service as described in the
composite below.

<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
	targetNamespace="http://bpel"
    xmlns:hns="http://helloworld"
    name="helloworld">

    <component name="HelloWorldService">
    	<implementation.bpel process="hns:HelloWorld"/>
    	<reference name="greetingsPartnerLink"
target="GreetingsServiceComponent"/>
    </component>

    <component name="GreetingsServiceComponent">
        <implementation.java class="greetings.GreetingsServiceImpl" />
	    <service name="GreetingsService">

	    	<interface.wsdl
interface="http://greetings#wsdl.interface(Greetings)" />
	    </service>
    </component>
</composite>

Please let me know if you have questions or any problems running the
sample test scenario.


[1]
https://svn.apache.org/repos/asf/tuscany/java/sca/itest/bpel/helloworld-refe
rence/


On Thu, Aug 28, 2008 at 8:21 PM, xuhongbo <xu...@tongtech.com> wrote:
> Hi
>        Now I am using  the sca provided build in bpel engine, and want to
> invoke another sca-component in the bpel process;
>        Though I could deploy the -java-implement sca component as
> web-service by ws binding,then access it in bpel by import a wsdl process.
> This way ask for all sca-java-componet deployed as web-service, and seems
> too trival for deployment.
>        So does anyone know how to use a sca-reference in a BPEL implement
> component to access another sca component? Or some other mechanism can
> direct access sca-component? Typically sca component invoked by the bpel
is
> always implement as Java Language.
>
> Thanks
>
>
>
>



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



Re: how to access another SCA Component in BPEL

Posted by Luciano Resende <lu...@gmail.com>.
This is demonstrated in the following bpel-reference iTest [1]. In
this case, we have a grretings java component, and then a BPEL
component that have a reference to this service as described in the
composite below.

<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
	targetNamespace="http://bpel"
    xmlns:hns="http://helloworld"
    name="helloworld">

    <component name="HelloWorldService">
    	<implementation.bpel process="hns:HelloWorld"/>
    	<reference name="greetingsPartnerLink" target="GreetingsServiceComponent"/>
    </component>

    <component name="GreetingsServiceComponent">
        <implementation.java class="greetings.GreetingsServiceImpl" />
	    <service name="GreetingsService">

	    	<interface.wsdl interface="http://greetings#wsdl.interface(Greetings)" />
	    </service>
    </component>
</composite>

Please let me know if you have questions or any problems running the
sample test scenario.


[1] https://svn.apache.org/repos/asf/tuscany/java/sca/itest/bpel/helloworld-reference/


On Thu, Aug 28, 2008 at 8:21 PM, xuhongbo <xu...@tongtech.com> wrote:
> Hi
>        Now I am using  the sca provided build in bpel engine, and want to
> invoke another sca-component in the bpel process;
>        Though I could deploy the -java-implement sca component as
> web-service by ws binding,then access it in bpel by import a wsdl process.
> This way ask for all sca-java-componet deployed as web-service, and seems
> too trival for deployment.
>        So does anyone know how to use a sca-reference in a BPEL implement
> component to access another sca component? Or some other mechanism can
> direct access sca-component? Typically sca component invoked by the bpel is
> always implement as Java Language.
>
> Thanks
>
>
>
>



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