tuscany-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peng Han <han.p...@FernUni-Hagen.de>
Subject Re: how to access another SCA Component in BPEL
Date Mon, 01 Jun 2009 10:20:15 GMT
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 <han.peng@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 <xuhb@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
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>         
>>>
>>>
>>>       
>>     
>
>
>
>   


Mime
View raw message