Comments inline.
Scott Kurz wrote:
I was looking over the HWWS/HWWSclient sample pair, and had the following
observations/questions:
1) For helloworld-wsclient, the HelloWorldServiceComponent does not
use the
@Reference annotation. So, according to the Java Component Impl
spec, Sec
1.2.7,
shouldn't we, during introspection, calculate the helloWorldService to
represent a Property, not a Reference? Yet we promote it to a
Composite-level reference.
Does this make sense?
Here's from that spec:
370 2. If its type is complex, then if the type is an interface marked
by @Remotable, then it is a reference;
371 otherwise, it is a property.
According to that text, the sample looks correct to me, as
HelloWorldService is annotated with @Remotable.
2) What is the point of promoting it anyway? It seems the only
point of
promoting it would be to allow this Composite to serve as the impl for
another component.
Since we don't do that in this simple sample, doesn't it just add
confusion?
It seems to be the SCDL should look something like this, ideally:
<component name="HelloWorldServiceComponent">
<implementation.java class="helloworld.HelloWorldServiceComponent"/>
<reference name="helloWorldService">
<binding.ws wsdlElement="
http://helloworld#wsdl.port(HelloWorldService/HelloWorldSoapPort)"/>
</reference>
</component>
What you're proposing is correct, but I think that the best practice
should be to promote services and references that use bindings and go
out of an SCA domain, to allow their bindings and endpoints to be
reconfigured at deployment time, by using a deployment composite for
example.
3) The Composite reference uses the 'class' attr on <interface.java>
<interface.java class="helloworld.HelloWorldService" />
Isn't this supposed to be an attr named 'interface'? This may als
show, to a degree, that the Composite-level reference is really
useless if
it doesn't even matter that this is wrong.
Scott
It's not useless :) not specifying an interface on a composite reference
is correct, if you don't specify the interface by default the interface
of the promoted reference will be used.
We currently do not issue a warning if you have extra attributes like
"class", there was a discussion on the list recently about doing XML
schema validation when we load SCA assembly XML files, when this is in
place you will probably get a warning.
Thanks for reporting this, I just checked in a fix under revision r536006.
--
Jean-Sebastien
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]