Hi guys!

I have a problem  wen I run (trough a jsp page inside the package) a webapp
deployed in tomcat


********** This is the error log :

org.apache.jasper.JasperException: Ha sucedido una excepción al
procesar la página JSP /taskclient.jsp en línea 26

23: <%@ page contentType="text/html;charset=UTF-8" language="java" %>
24: <%
25:    SCADomain scaDomain = (SCADomain)
application.getAttribute("org.apache.tuscany.sca.SCADomain");
26:    TaskListService taskListService =
scaDomain.getService(TaskListService.class,
"TaskListServiceComponent");
27:    TaskList tl = taskListService.createTaskList(12, 22);
28:    long listId = tl.getId();
29: %>


Stacktrace:
        
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
        
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        
org.apache.tuscany.sca.host.webapp.TuscanyServletFilter.doFilter(TuscanyServletFilter.java:99)

org.osoa.sca.ServiceRuntimeException: The service TaskListServiceComponent
has not been contributed to the domain

        
org.apache.tuscany.sca.node.impl.NodeImpl.getServiceReference(NodeImpl.java:791)
        org.apache.tuscany.sca.node.impl.NodeImpl.getService(NodeImpl.java:758)
        
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.getService(DefaultSCADomain.java:232)
        org.apache.jsp.taskclient_jsp._jspService(taskclient_jsp.java:63)
        org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        
org.apache.tuscany.sca.host.webapp.TuscanyServletFilter.doFilter(TuscanyServletFilter.java:99)


As you can see it says that  TaskListServiceComponent has not been
contributed to the domain.


******** This is the composite of my webapp:


<?xml version="1.0" encoding="UTF-8"?>
<sca:composite xmlns:sca="http://www.osoa.org/xmlns/sca/1.0";
name="Task" targetNamespace="http://eclipse.org/PlanningToolSCA/src/Task";>
  <sca:component name="TaskListServiceComponent">
    <sca:implementation.java class="main.task.lib.TaskListServiceImpl"/>
    <sca:service name="TaskListService">
      <sca:interface.java interface="main.task.api.TaskListService"/>
    </sca:service>
    <sca:reference name="taskCrudService"/>
  </sca:component>
  <sca:service name="TaskService"
promote="TaskListServiceComponent/TaskListService"/>
  <sca:component name="TaskServiceComponent">
    <sca:implementation.java class="main.task.lib.TaskCrudServiceImpl"/>
    <sca:service name="TaskCrudService">
      <sca:interface.java interface="main.task.api.TaskCrudService"/>
    </sca:service>
  </sca:component>
  <sca:wire source="TaskListServiceComponent/taskCrudService"
target="TaskServiceComponent/TaskCrudService"/>
</sca:composite>

You can see graphically my composite here:
http://www.imageno.com/gdvq0mpmyxjkpic.html

******** This is the sca-contribution.xml file

<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0";

              xmlns:ptool="http://ptool";>
   <deployable composite="ptool:Task"/>
</contribution>


******** This is the web.xml file

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd";>
<web-app>

  <display-name>Planning Tool SCA Task</display-name>

  <filter>
    <filter-name>tuscany</filter-name>
    
<filter-class>org.apache.tuscany.sca.host.webapp.TuscanyServletFilter</filter-class>
  </filter>

  <filter-mapping>
    <filter-name>tuscany</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>


  <welcome-file-list id="WelcomeFileList">
    <welcome-file>taskclient.jsp</welcome-file>
  </welcome-file-list>
</web-app>


This is the structure of the .war that I put in the tomcat webapps
folder ( I follow the calculator-ws-webapp example for this because I
want to use a ws binding in this way :
http://www.imageno.com/zckmhtxj3k0ipic.html   )

WEB-INF

  lib

  classes

      main

      Task.composite

  web.xml

  geronimo

META-INF

taskclient.jsp

manifest.mf



That's about my execution problem, additionaly I have some doubts regards
the samples in the tuscany installation (and some general):

1. The files .composite defined in the samples don't use wires, since I
understand when you don't use wires is because you are using bindings for
communicating the components inside a composite. ¿Is that right? ¿Is there
any restriction for using wires when you run a contribution in Tomcat for
example?

2. ¿Is POJO the standard comunication mechanism in the tuscany
implementation when you use wires between components inside a Composite?


3. ¿Is there any example of many SCA Domains deployed as webapps in Tomcat
that use ws bindings (located as a service of the composite, when this
service is related trough a promotion of a component inside the composite)
that are communicating between them trough those bindings?


Your help will be apreciatted

Reply via email to