Tuto jaxrs [SOLVED]

Problem solved: check answer


i am following the tutorial for jaxrs in order to make a webengine application. But, for the moment, i experiment a crash after having following the nuxeo tutorial for jaxrs: https://doc.nuxeo.com/810/nxdoc/webengine-jax-rs/

i get an error 500 after trying the test url: {"entity-type":"exception","code":"com.sun.jersey.api.NotFoundException","status":500,"message":"null for uri: http://localhost:8080/nuxeo/site/mysite"} EDIT> This error was because the bundle with jaxrs was not d├ęclared in another bundle used for compiling. But, now, there is another error, see next answer to this post.

The tomcat Log show that:

WARNING: A HTTP GET method, public java.lang.String org.nuxeo.elasticsearch.http.readonly.Main.searchWithPayload(java.lang.String,javax.ws.rs.core.UriInfo,javax.ws.rs.core.MultivaluedMap) throws java.io.IOException,org.json.JSONException, should not consume any entity.

I show you my files: MyWebApp.java

import javax.ws.rs.core.Application;
import java.util.HashSet;
import java.util.Set;

public class MyWebApp extends Application { 
   public Set<Class<?>> getClasses() {
        HashSet<Class<?>> result = new HashSet<Class<?>>(); 
    return result;    }}


import javax.ws.rs.GET;
import javax.ws.rs.Path;

public class MyWebAppRoot {
    public Object doGet() {       
     return "Hello World!";   


Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
Manifest-Version: 1.0
Bundle-ManifestVersion: 8.10
Bundle-Name: xxx.webengine
Bundle-SymbolicName: xxx.webengine;singleton:=true
Nuxeo-WebModule: xxx.webengine.MyWebApp

pom.xml of the bundle

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    
<name>webengine test</name>
    <!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api 
    EDIT>>> The use of this dependency was a bad idea... check answer...-->
    <!-- https://mvnrepository.com/artifact/org.eclipse.jetty/jetty-util -->  

One mistake could be on the maven declaration of the bundle i have created. As i am beginner with maven, i have to improve my level. In the meanwhile,

if you have a project with a webengine /jaxrs, it could helps me.


0 votes

2 answers



it's weird: on a nuxeo project compliant (made by CLI), webengine is ok. But in the project i m working on, nothing happened with webengine. The problem is probably the deployment of the application and module (a pack war)

EDIT> Yeah, it was a deployment problem. A jar was not include in the final package. A build instruction in the bundle POM was forgotten because of the use of the CLI.

0 votes

i try to touch on maven pom to declare my bundle in another bundle used for compiling project bundle and the error is now:

  • On browser page localhost:8080/nuxeo/site/mysite: # Etat HTTP 500 - org.apache.jasper.JasperException: An exception occurred processing JSP page /nuxeo_error.jsp at line 120
  • Server.log: ERROR [http-apr-8080-exec-1] [org.nuxeo.ecm.platform.web.common.exceptionhandling.DefaultNuxeoExceptionHandler] javax.servlet.ServletException: On requestURL: http://localhost:8080/nuxeo/site/mysite
    On requestURL: http://localhost:8080/nuxeo/site/mysite
    at org.nuxeo.ecm.platform.ui.web.rest.FancyURLFilter.doFilter(FancyURLFilter.java:140)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.nuxeo.ecm.platform.web.common.requestcontroller.filter.NuxeoRequestControllerFilter.doFilter(NuxeoRequestControllerFilter.java:146)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
2018-07-09 11:34:03,865 ERROR [http-apr-8080-exec-1] [nuxeo-error-log] 
Request Attributes:

    NuxeoExceptionHandlerMarker : true
    org.nuxeo.ecm.login.context : javax.security.auth.login.LoginContext@6a77657
    messageBundle : java.util.PropertyResourceBundle@8a88c34
    nuxeo.disable.redirect.wrapper : true
    user_message : An unexpected error occurred. Click on the following links to get more information or go back to the application.
    com.sun.faces.context.ExternalContextFactoryImpl_KEY : com.sun.faces.context.ExternalContextImpl@14535fdd
    exception_message : javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder;
    securityError : false

for now, i think i am in a dead-end (cul-de-sac) for the project i m working on.

I could try the same addon jaxrs on a training project more nuxeo compliant with its architecture. Don't know where is the problem. Maybe the manifest.MF.

I investigate a new led: i quite sure the pom of the bundle need some dependency to make ok this jaxrs hello world. i ve added:


but it doesn't work and i have verified that without this dependency, the webengine on this url nuxeo/site is ok but the url nuxeo/site/mysite made a 404. As soon as i add this dependency, all webengine page go down with error i have showed before.

EDIT> NEVER import the javax.ws.rs for the Webengine. Use instead com.sun.jersey.

0 votes