Support Shell invoking remote services
--------------------------------------
Key: TUSCANY-3866
URL: https://issues.apache.org/jira/browse/TUSCANY-3866
Project: Tuscany
Issue Type: Improvement
Reporter: ant elder
Current the Shell invoke command can only invoke services that are running
locally, ideally it would be able to invoke any service in the domain.
To recreate the issue:
At one command prompt go to samples/getting-started/helloworld and run "mvn
tuscany:run -DdomainURI=uri:default"
At another command prompt run "mvn
org.apache.tuscany.maven.plugins:maven-tuscany-plugin:2.0-SNAPSHOT:shell
-DdomainURI=uri:default"
At the first command prompt this invoke command should work:
invoke HelloworldComponent/Helloworld sayHello lkjlk
At the second prompt it will fail with an NPE
The problem is that a Java interface of remote endpoints isn't available to the
Shell.
The DomainRegistry is now adding the normalized WSDL contract for the service
to the distributed Endpoints so one solution might be to dynamically gen a Java
interface from that. Perhaps with ASM to create an interfcae, or
programaticallt calling wsimport. Neither seem trivial.
Another approach which may be simpler is for the Shell to just get the Java
interface from the contribution that the service is using. That would only work
as long as the service is using a Java interface, but maybe thats an ok
limitation for now. However, i can't yet see how to find which contribution the
interface came from, there don't seem to be any links back from anything in the
service runtime objects to the contribution uri.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira