hi,

we have created a component implementation for a small RESTful composition
language which does not support references to other components, now we want
to add support for that. The component implementation is similar to BPEL,
but without all the WSDL and partnerlink stuff. Just support for REST and
custom activities to extend the language.

An example of using it in the composite file is:
<component name="FeedsAggregatorComponent">
        <implementation.splice
            baseDir="src/main/resources/flowdir/"
            path="feeds" url="getFeeds"
            contentType="text/xml" />
        <reference name="aggregate" target="AggregateServiceComponent" />

</component>
<!-- other stuff goes here -->


I need to tell our Splice engine where the references are and how it can
resolve it. The problem is that from the Reference instance, I cannot
retrieve an invoker instance to invoke my target as specified in the
<reference /> tag. AFAIK, i need a binding and an operation instance to get
an Invoker instance. The binidng is not a problem is can be retrieved from
the reference instance. Furthermore, I need an operation instance; the name
of the operation corresponds to some value in the process definition that I
know.

To get the operations i need the interface and thus its interface contract
first. When I do a
InterfaceContract contract = _reference.getTargets().get
(0).getInterfaceContract();

it is always null, so I cannot get the interface and iterate over its
operations to find a matching one. If I would have the operation I could
establish a binding.

Invoker invoker = _reference.getInvoker(bindings.get(0), referencedOp);
Message request = _messageFactory.createMessage();
// here the Splice engine can call the reference

I do the whole stuff in the implementation provider class (where I also
configure the engine).

Any help and pointers are highly appreciated. I'm stuck with that for a
couple of times now. By the way, this message occurs in the logs, but I'm
not really sure if it is the source of my problem:
WARNING: [WARNING] Reference not found for component reference:
FeedsAggregatorComponent/aggregate null

If you need more infor let me know.

Best regards,
Florian


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to