Hi Scott,

I have tried a few variations on this. For example I have nested the
javascript helloworld sample inside the RMI helloworld sample. My intention
was to get through the SCA concepts. And believe me, it turned out to be
easier than I thought. The end result was a javascript function exposed to
the external world using RMI.

My HelloWorldRmiComposite looked like this:

<composite xmlns="http://www.osoa.org/xmlns/sca/1.0";
          xmlns:rmi="
http://tuscany.apache.org/xmlns/binding/rmi/1.0-SNAPSHOT";
          name="HelloWorldRmiComposite">

   <service name="HelloWorldRmiService"
target="HelloWorldServiceComponent">
       <interface.java interface="helloworld.HelloWorldService"/>
       <rmi:binding.rmi host="localhost" port="1099"
serviceName="HelloWorldRemoteService"   />
       <reference>HelloWorldServiceComponent</reference>
   </service>

   <component name="HelloWorldServiceComponent">
       <implementation.composite name="xyz" scdlLocation="helloworldJS.scdl
"/>
   </component>

  <component name="HelloWorldRmiServiceComponent">
       <implementation.java class="helloworld.HelloWorldRmiImpl"/>
       <reference name="extService">HelloWorldRmiReference</reference>
   </component>

     <reference name="HelloWorldRmiReference" target="Nothing">
       <interface.java interface="helloworld.HelloWorldService"/>
       <rmi:binding.rmi host="localhost" port="1099"
serviceName="HelloWorldRemoteService" />
   </reference>

</composite>

And the HelloWorldJavaScriptComposite looked like :

<composite xmlns="http://www.osoa.org/xmlns/sca/1.0";
          xmlns:js="http://tuscany.apache.org/xmlns/js/1.0";
          name="HelloWorldJavaScriptComposite">

   <service name="HelloWorldJavaScriptService">
       <interface.java interface="helloworld.HelloWorldService"/>
       <reference>HelloWorldJavaScriptComponent</reference>
   </service>

   <component name="HelloWorldJavaScriptComponent">
       <js:implementation.js script="HelloWorld.js"/>
   </component>

</composite>

If you are interested, I can send you the entire code zipped. I should add a
disclaimer that I don't know if I did everything right.

On 9/20/06, Scott Kurz <[EMAIL PROTECTED]> wrote:

Maybe my last phrasing of this question was too confusing, so I'm trying
again.   If no one answers this time, I'll give it a try myself by the end
of the week.


=======================================================================================

How is a binding on a service in a nested composite handled?

That is, suppose I deploy top-level composite Z1 which contains component
C1, and that C1 is implemented by composite Z2.
Could I put a WS binding on a composite-level service S of Z2?   Would I
need to surface S to the Z1 composite and put a WS binding on the service
surfaced to the Z1-level?
I'd assume I would be able to override the URL the service can be invoked
at
(or some right-hand portion of the URL ) at the Z1 level.

=======================================================================================

Thanks,
Scott




--
Warm regards,
jojo.

Reply via email to