Let me run this by the list...

Running code from the M2 branch, my Composite has a JSP and a
Composite-level reference MyRef with <binding.ws>  and <interface.wsdl>.

My JSP does locateService("MyRef"), which I believe is legal according to
0.95 Java C&I spec and works fine with an <interface.java>.

This doesn't work:

java.lang.NullPointerException
at org.apache.tuscany.core.wire.jdk.JDKWireService.createProxy(
JDKWireService.java:92)
at org.apache.tuscany.spi.extension.ReferenceExtension.getServiceInstance(
ReferenceExtension.java:81)
 at
org.apache.tuscany.spi.extension.CompositeComponentExtension.locateService(
CompositeComponentExtension.java:275)
at org.apache.tuscany.core.launcher.CompositeContextImpl.locateService(
CompositeContextImpl.java:65)

Without fully understanding the problem, it seems Tuscany is smart enough to
build a proxy compatible with the <interface.wsdl> if it has
a Component to work with in the Connector phase of starting a Composite,
while it is not smart enough to do so for the JSP.   I can imagine
why since the JSP and the locateService it does are unknown when starting
the app.

Now that I say that, I wonder if the issue is the locateService API combined
w/ the <interface.wsdl>
rather than the absence of a Component for the Connector to work with.

Would anyone have any insights?  Would this be worth opening a JIRA for?

Thanks,
Scott

Reply via email to