06-21-2018 10:57 AM
Problem solved: check answer
Hello,
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 {
@Override
public Set<Class<?>> getClasses() {
HashSet<Class<?>> result = new HashSet<Class<?>>();
result.add(MyWebAppRoot.class);
return result; }}
MyWebAppRoot.java
import javax.ws.rs.GET;
import javax.ws.rs.Path;
@Path("mysite")
public class MyWebAppRoot {
@GET
public Object doGet() {
return "Hello World!";
}
}
MANIFEST.MF
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">;
<parent>
<artifactId>xxx</artifactId>
<groupId>fr.xxxxxx.xxxc</groupId>
<version>2.0.0-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>fr.xxxxx.xxxx.webengine</artifactId>
<name>webengine test</name>
<dependencies>
<!-- https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api
EDIT>>> The use of this dependency was a bad idea... check answer...-->
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.eclipse.jetty/jetty-util -->
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-util</artifactId>
<version>9.4.11.v20180605</version>
</dependency>
<dependency>
<groupId>org.nuxeo.ecm.webengine</groupId>
<artifactId>nuxeo-webengine-core</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.seam</groupId>
<artifactId>jboss-seam</artifactId>
</dependency>
</dependencies>
</project>
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,
07-03-2018 06:19 AM
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 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:
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1</version>
</dependency>
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.
07-10-2018 08:07 AM
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.
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.