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

Reply via email to