Hi all,
I'm trying to launch an application with the following distributed
architecture/configuration (with two nodes):
**** ComponentA and ComponentActrl on Node_compA:
node_compA.composite :
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
targetNamespace="http://sample"
xmlns:sample="http://sample"
name="Node_compA_comp">
<component name="ComponentA">
<implementation.java class="a_comp.A_Impl" />
</component>
<component name="ComponentActrl">
<implementation.java class="a_comp.A_ctrl" />
<reference name="userAtask" target="ComponentA" />
<service name="Tmp_double">
<interface.java interface="aSEQb.Tmp_double"/>
</service>
<service name="ActrlPorts">
<interface.java interface="a_comp.ActrlPorts"/>
</service>
</component>
</composite>
cloud/Node_compA.composite:
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
targetNamespace="http://sample/cloud"
xmlns:s="http://sample"
name="Node_compA">
<component name="Node_compA">
<t:implementation.node uri="node_compA"
composite="s:Node_compA_comp"/>
<service name="Node">
<binding.sca uri="http://localhost:8200"/>
</service>
</component>
</composite>
**** FakeComponentA on Node_fakeA
node_fakeA.composite:
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
targetNamespace="http://sample"
xmlns:sample="http://sample"
name="Node_fakeA_comp">
<component name="FakeComponentA">
<implementation.java class="fake_comp.A_fake_Impl" />
<reference name="fakeUseA" target="ComponentActrl/Tmp_double" />
<reference name="fakeCtrlA" target="ComponentActrl/ActrlPorts" />
</component>
</composite>
cloud/Node_fakeA.composite:
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
targetNamespace="http://sample/cloud"
xmlns:s="http://sample"
name="Node_fakeA">
<component name="Node_fakeA">
<t:implementation.node uri="node_fakeA"
composite="s:Node_fakeA_comp"/>
<service name="Node">
<binding.sca uri="http://localhost:8100"/>
</service>
</component>
</composite>
--------------------
A client program launches Node_fakeA, get the service
ComponentActrl/Tmp_double. The associated interface is :
@Remotable
public interface Tmp_double {
void set_double(double val);
void set_void();
}
From the client program, the set_double(..) operation is called. It
just make a call of the same operation on ComponentActrl. But at this
point, an error occurs.
Here is the relevant part of the Client program:
public class ApplManagerWithFakeComp {
public static void main(String[] args) throws Exception {
.... // Create a fake_A node
NodeLauncher launcher = NodeLauncher.newInstance();
String configurationURI =
"http://localhost:9990/node-image/Node_fakeA";
SCANode2 node =
launcher.createNode(configurationURI);
// Start the node
try {
node.getClass().getMethod("start").invoke(node);
} catch (Exception e) {
System.err.println("SCA
fakeCompA_node: could not be started");
throw e;
}
System.out.println("SCA fakeCompA_node started. Test usage");
SCAClient client = (SCAClient)node;
Tmp_double prov_inA = client.getService(Tmp_double.class,
"FakeComponentA/Tmp_double");
if (prov_inA == null){
System.err.println("Error: Getted service is
null!!!!!!!!!!!!!");
}
// Do some computations
System.out.println("test multiple task executions for three
inputs"); System.out.println("set inA = 50");
prov_inA.set_double(50);
/****************/
System.out.println("set inA = 100");
prov_inA.set_double(100);
System.out.println("set inA void");
prov_inA.set_void();
}
}
**************************
To execute the application, I launch the domain manager, Node_compA
(it starts normally) and then the client program. At the line marked
by /****************/ I obtain the following trace-error:
ant runAppl
Buildfile: build.xml
runAppl:
[java] Jul 3, 2008 12:23:03 PM
org.apache.tuscany.sca.node.launcher.NodeLauncherUtil collectJARFiles
[java] INFO: Runtime classpath: 148 JARs from
/local/hbouzian/PostDoc/src/sca/tuscany-sca-1.2-incubating/lib
[java] Jul 3, 2008 12:23:03 PM
org.apache.tuscany.sca.node.launcher.NodeLauncherUtil collectJARFiles
[java] INFO: Runtime classpath: 93 JARs from
/local/hbouzian/PostDoc/src/sca/tuscany-sca-1.2-incubating/modules
[java] Jul 3, 2008 12:23:03 PM
org.apache.tuscany.sca.node.impl.NodeImpl <init>
[java] INFO: Creating node:
http://localhost:9990/node-image/Node_fakeA
[java] Jul 3, 2008 12:23:04 PM
org.apache.tuscany.sca.node.impl.NodeImpl configureNode
[java] INFO: Loading contribution:
file:/local/hbouzian/workspace/AseqBAppl/./src/main/resources/node_fakeA/
[java] Jul 3, 2008 12:23:05 PM
org.apache.tuscany.sca.node.impl.NodeImpl configureNode
[java] INFO: Loading composite:
http://localhost:9990/composite-resolved/composite:node_fakeA;http://sample;Node_fakeA_comp
[java] Jul 3, 2008 12:23:05 PM
org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1
problem
[java] WARNING: Component reference target not found, it might be
a remote service: ComponentActrl/ActrlPorts
[java] Jul 3, 2008 12:23:05 PM
org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1
problem
[java] WARNING: Component reference target not found, it might be
a remote service: ComponentActrl/Tmp_double
[java] Jul 3, 2008 12:23:05 PM
org.apache.tuscany.sca.node.impl.NodeImpl start
[java] INFO: Starting node:
http://localhost:9990/node-image/Node_fakeA
[java] Jul 3, 2008 12:23:08 PM
org.apache.catalina.core.StandardEngine start
[java] INFO: Starting Servlet Engine: Apache Tomcat/6.0.14
[java] Jul 3, 2008 12:23:09 PM
org.apache.catalina.startup.ContextConfig defaultWebConfig
[java] INFO: No default web.xml
[java] Jul 3, 2008 12:23:09 PM
org.apache.catalina.startup.DigesterFactory register
[java] WARNING: Could not get url for
/javax/servlet/jsp/resources/jsp_2_0.xsd
[java] Jul 3, 2008 12:23:09 PM
org.apache.catalina.startup.DigesterFactory register
[java] WARNING: Could not get url for
/javax/servlet/jsp/resources/jsp_2_1.xsd
[java] Jul 3, 2008 12:23:09 PM
org.apache.catalina.startup.DigesterFactory register
[java] WARNING: Could not get url for
/javax/servlet/jsp/resources/web-jsptaglibrary_1_1.dtd
[java] Jul 3, 2008 12:23:09 PM
org.apache.catalina.startup.DigesterFactory register
[java] WARNING: Could not get url for
/javax/servlet/jsp/resources/web-jsptaglibrary_1_2.dtd
[java] Jul 3, 2008 12:23:09 PM
org.apache.catalina.startup.DigesterFactory register
[java] WARNING: Could not get url for
/javax/servlet/jsp/resources/web-jsptaglibrary_2_0.xsd
[java] Jul 3, 2008 12:23:09 PM
org.apache.catalina.startup.DigesterFactory register
[java] WARNING: Could not get url for
/javax/servlet/jsp/resources/web-jsptaglibrary_2_1.xsd
[java] Jul 3, 2008 12:23:09 PM
org.apache.catalina.startup.DigesterFactory register
[java] WARNING: Could not get url for
/javax/servlet/resources/j2ee_web_services_1_1.xsd
[java] Jul 3, 2008 12:23:09 PM
org.apache.coyote.http11.Http11Protocol init
[java] INFO: Initializing Coyote HTTP/1.1 on http-8100
[java] Jul 3, 2008 12:23:09 PM
org.apache.coyote.http11.Http11Protocol start
[java] INFO: Starting Coyote HTTP/1.1 on http-8100
[java] Jul 3, 2008 12:23:09 PM
org.apache.tuscany.sca.http.tomcat.TomcatServer addServletMapping
[java] INFO: Added Servlet mapping:
http://localhost.localdomain:8100/FakeComponentA/ActrlPorts
[java] Jul 3, 2008 12:23:09 PM
org.apache.tuscany.sca.http.tomcat.TomcatServer addServletMapping
[java] INFO: Added Servlet mapping:
http://localhost.localdomain:8100/FakeComponentA/Tmp_double
[java] SCA fakeCompA_node started. Test usage
[java] test multiple task executions for three inputs
[java] set inA = 50
[java] Jul 3, 2008 12:23:09 PM fake_comp.A_fake_Impl <init>
[java] INFO: An instance of fakeComponentA is created
[java] Jul 3, 2008 12:23:09 PM fake_comp.A_fake_Impl setfakeUseA
[java] INFO: Wire fakeUseTmpPortA
[java] Jul 3, 2008 12:23:09 PM fake_comp.A_fake_Impl setfakeCtrlA
[java] INFO: Wire fakeCtrlPortsA
[java] Jul 3, 2008 12:23:09 PM fake_comp.A_fake_Impl set_double
[java] INFO: Set an input on component A
[java] Exception in thread "main"
org.osoa.sca.ServiceRuntimeException: Target fault type cannot be
resolved: null
[java] at
org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:134)
[java] at
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
[java] at
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
[java] at $Proxy6.set_double(Unknown Source)
[java] at fake_comp.A_fake_Impl.set_double(A_fake_Impl.java:54)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[java] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:597)
[java] at
org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:109)
[java] at
org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:108)
[java] at
org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
[java] at
org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:108)
[java] at
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
[java] at
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
[java] at $Proxy6.set_double(Unknown Source)
[java] at
node.ApplManagerWithFakeComp.main(ApplManagerWithFakeComp.java:78)
[java] Caused by: org.apache.axis2.AxisFault: Connection refused
[java] at
org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
[java] at
org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:195)
[java] at
org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:77)
[java] at
org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:327)
[java] at
org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:206)
[java] at
org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
[java] at
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:374)
[java] at
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211)
[java] at
org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
[java] at
org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invokeTarget(Axis2BindingInvoker.java:118)
[java] at
org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invoke(Axis2BindingInvoker.java:89)
[java] at
org.apache.tuscany.sca.binding.sca.axis2.impl.Axis2SCABindingInvoker.invoke(Axis2SCABindingInvoker.java:104)
[java] at
org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:78)
[java] ... 16 more
[java] Caused by: java.net.ConnectException: Connection refused
[java] at java.net.PlainSocketImpl.socketConnect(Native Method)
[java] at
java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
[java] at
java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
[java] at
java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
[java] at
java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
[java] at java.net.Socket.connect(Socket.java:519)
[java] at java.net.Socket.connect(Socket.java:469)
[java] at java.net.Socket.<init>(Socket.java:366)
[java] at java.net.Socket.<init>(Socket.java:240)
[java] at
org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:79)
[java] at
org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:121)
[java] at
org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:706)
[java] at
org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1321)
[java] at
org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:386)
[java] at
org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
[java] at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
[java] at
org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
[java] at
org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:520)
[java] at
org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:191)
[java] ... 27 more
[java] Java Result: 1
The trace on Node_compA is (I use a deamon approach to launch nodes):
03/07/2008 12:22:28 13792 jsvc.exec error: syscall failed in set_caps
03/07/2008 12:22:28 13792 jsvc.exec error: syscall failed in set_caps
Jul 3, 2008 12:22:28 PM node.GenericNode init
INFO: Node null: in init.
Jul 3, 2008 12:22:28 PM node.GenericNode start
INFO: Apache Tuscany SCA Node Node_compA starting...
Jul 3, 2008 12:22:28 PM
org.apache.tuscany.sca.node.launcher.NodeLauncherUtil collectJARFiles
INFO: Runtime classpath: 93 JARs from
/local/hbouzian/PostDoc/src/sca/tuscany-sca-1.2-incubating/modules
Jul 3, 2008 12:22:28 PM
org.apache.tuscany.sca.node.launcher.NodeLauncherUtil collectJARFiles
INFO: Runtime classpath: 148 JARs from
/local/hbouzian/PostDoc/src/sca/tuscany-sca-1.2-incubating/lib
Jul 3, 2008 12:22:28 PM org.apache.tuscany.sca.node.impl.NodeImpl <init>
INFO: Creating node: http://localhost:9990/node-image/Node_compA
Jul 3, 2008 12:22:30 PM org.apache.tuscany.sca.node.impl.NodeImpl <init>
INFO: CompositeURL :
http://localhost:9990/composite-resolved/composite:node_compA;http://sample;Node_compA_comp
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Jul 3, 2008 12:22:30 PM org.apache.tuscany.sca.node.impl.NodeImpl
configureNode
INFO: Loading contribution:
file:/local/hbouzian/workspace/AseqBAppl/./src/main/resources/node_compA/
Jul 3, 2008 12:22:32 PM org.apache.tuscany.sca.node.impl.NodeImpl
configureNode
INFO: Loading composite:
http://localhost:9990/composite-resolved/composite:node_compA;http://sample;Node_compA_comp
Jul 3, 2008 12:22:32 PM org.apache.tuscany.sca.node.impl.NodeImpl start
INFO: Starting node: http://localhost:9990/node-image/Node_compA
Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor
Warning: Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor
Jul 3, 2008 12:22:35 PM
org.apache.tuscany.sca.host.webapp.WebAppServletHost addServletMapping
INFO: Added Servlet mapping: /ComponentActrl/Tmp_double
Jul 3, 2008 12:22:35 PM
org.apache.tuscany.sca.host.webapp.WebAppServletHost addServletMapping
INFO: Added Servlet mapping: /ComponentActrl/ActrlPorts
Jul 3, 2008 12:22:35 PM node.GenericNode start
INFO: SCA Node Node_compA started.
********
in the trace, I expected a log message saying that an instance of a
ComponentActrl is created when FakeComponentA tries to use one of its
services. But it doesn't seem to be created!? At the same time I don't
understand how the wires of FakeComponentA references to
ComponentActrl services succeed
[java] Jul 3, 2008 12:23:09 PM fake_comp.A_fake_Impl setfakeUseA
[java] INFO: Wire fakeUseTmpPortA
without an errors like component or reference not found.
Am I wrong somewhere? Let me know if you need any additional
information (code/xml descriptions).
Thank you for your help.
Hinde