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