On 07/22/2013 12:17 PM, Piratenvisier wrote: > I have some problem getting the Restexample running: > In the pom I have : > > <dependency> > <groupId>org.apache.cocoon.pipeline</groupId> > <artifactId>cocoon-pipeline</artifactId> > <version>${cocoon.version}</version> > </dependency> > > <dependency> > <groupId>org.apache.cocoon.databases</groupId> > <artifactId>cocoon-databases</artifactId> > <version>${cocoon.version}</version> > </dependency> > > <dependency> > <groupId>org.apache.cocoon.sax</groupId> > <artifactId>cocoon-sax</artifactId> > <version>${cocoon.version}</version> > </dependency> > > <dependency> > <groupId>org.apache.cocoon.rest</groupId> > <artifactId>cocoon-rest</artifactId> > <version>${cocoon.version}</version> > </dependency> > > <dependency> > <groupId>org.apache.cocoon.stringtemplate</groupId> > <artifactId>cocoon-stringtemplate</artifactId> > <version>${cocoon.version}</version> > </dependency> > > <dependency> > <groupId>org.apache.cocoon.wicket</groupId> > <artifactId>cocoon-wicket</artifactId> > <version>${cocoon.version}</version> > </dependency> > > <dependency> > <groupId>org.apache.cocoon.optional</groupId> > <artifactId>cocoon-optional</artifactId> > <version>${cocoon.version}</version> > </dependency> > > <dependency> > <groupId>org.apache.xmlgraphics</groupId> > <artifactId>fop</artifactId> > <version>1.0</version> > </dependency> > > <dependency> > <groupId>org.apache.cocoon</groupId> > <artifactId>cocoon-serializers-charsets</artifactId> > <version>${cocoon.serializers.charset.version}</version> > </dependency> > </dependencies> > > my sitemap includes : > > <map:pipeline> > > <map:match pattern="controller/{id}/{name}"> > <controller:call controller="rest-controller" > select="org.apache.cocoon.sample.controller.DemoRESTController"> > <map:parameter name="id" value="{map:id}" /> > <map:parameter name="name" value="{map:name}" /> > </controller:call> > </map:match> > </map:pipeline> > <map:pipeline type="noncaching"> > <map:match pattern="controller/screen"> > <map:generate src="controller/demo.html" > type="controller-aware-string-template" /> > <map:serialize type="xml" status-code="202" /> > </map:match> > </map:pipeline> > > I included cocoon-sample-controller.xml : > > <beans xmlns="http://www.springframework.org/schema/beans" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:p="http://www.springframework.org/schema/p" > xmlns:aop="http://www.springframework.org/schema/aop" > xmlns:context="http://www.springframework.org/schema/context" > xsi:schemaLocation=" > http://www.springframework.org/schema/beans > http://www.springframework.org/schema/beans/spring-beans-2.5.xsd > http://www.springframework.org/schema/aop > http://www.springframework.org/schema/aop/spring-aop-2.5.xsd > http://www.springframework.org/schema/context > http://www.springframework.org/schema/context/spring-context-2.5.xsd > "> > > <!-- Scan for all REST controllers and make them as beans available --> > <context:component-scan > base-package="org.apache.cocoon.sample.controller" > use-default-filters="false" > > name-generator="org.apache.cocoon.rest.controller.ControllerBeanNameGenerator" > > scope-resolver="org.apache.cocoon.rest.controller.ControllerBeanScopeResolver"> > <context:include-filter type="annotation" > expression="org.apache.cocoon.rest.controller.annotation.RESTController" > /> > </context:component-scan> > > <context:annotation-config /> > > <bean id="org.apache.cocoon.sample.controller.aspect1" > class="org.apache.cocoon.sample.controller.DemoRESTControllerAspect1" /> > <bean id="org.apache.cocoon.sample.controller.aspect2" > class="org.apache.cocoon.sample.controller.DemoRESTControllerAspect2" /> > </beans> > > and cocoon-sample-servlet-service.xml: > > <beans xmlns="http://www.springframework.org/schema/beans" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:servlet="http://cocoon.apache.org/schema/servlet" > xsi:schemaLocation="http://www.springframework.org/schema/beans > > http://www.springframework.org/schema/beans/spring-beans.xsd > http://cocoon.apache.org/schema/servlet > > http://cocoon.apache.org/schema/servlet/cocoon-servlet-1.0.xsd"> > > <!-- A Cocoon-Sitemap based servlet-service. --> > > <bean id="org.apache.cocoon.sample.servlet" > class="org.apache.cocoon.servlet.XMLSitemapServlet"> > here I am not sure if I did this the right way: > <servlet:context mount-path="" > context-path="jar:classpath:/WEB-INF/lib/cocoon-servlet-3.0.0-beta-1-SNAPSHOT!/webapp/"/> > > > </bean> > > <!-- A servlet-service that exposes JAX-RS REST endpoints. --> > <!-- <bean id="org.apache.cocoon.sample.rest.servlet" > class="org.apache.cocoon.rest.jaxrs.container.CocoonJAXRSServlet"> > <servlet:context mount-path="/jax-rs" > context-path="jar:classpath:lib/${project.build.finalName}.jar!/COB-INF/"> > <servlet:connections> > <entry key="sample" > value-ref="org.apache.cocoon.sample.servlet" /> > </servlet:connections> > </servlet:context> > > <property name="restResourcesList"> > <list> > <ref bean="org.apache.cocoon.sample.rest.resource.one" /> > <ref bean="org.apache.cocoon.sample.rest.resource.two" /> > </list> > </property> > </bean>--> > </beans> > > in web.xml the only part of importance is : > > <context-param> > <param-name>contextConfigLocation</param-name> > <param-value> > classpath:/applicationContext-resources.xml > classpath:/applicationContext-dao.xml > classpath:/applicationContext-service.xml > /WEB-INF/applicationContext*.xml > /WEB-INF/cocoon-sample-*.xml > </param-value> > </context-param> > > I get the error: > > java.net.MalformedURLException: unknown protocol: servlet at > java.net.URL.<init>(URL.java:592) at java.net.URL.<init>(URL.java:482) > at java.net.URL.<init>(URL.java:431) at > org.apache.cocoon.rest.controller.response.URLResponse.<init>(URLResponse.java:49) > at > org.apache.cocoon.sample.controller.DemoRESTController.doGet(DemoRESTController.java:54) > >
Not sure but seems that he cannot resolve: return new URLResponse("servlet:/controller/screen", data); However that seems pretty much as the sample block. Try just to start cocoon-rest-optional and do mvn clean install jetty:run I just added a small sample (I consider it quite clean) to use a pipeline in your java code. HTH salu2 -- Thorsten Scherler <scherler.at.gmail.com> codeBusters S.L. - web based systems <consulting, training and solutions> http://www.codebusters.es/