We are using JasperReports server v6.2.0. with Apache Tomcat as AS.
I ‘ve implemented a code to Purging the content Resource files (scheduled export files) from Jasper server by extended the Jasper REST API as per the following link contributed by you:
https://github.com/Jaspersoft/jrs-rest-java-client
I’ve created a java project in Eclipse IDE and able to successfully execute the code from Eclipse IDE.
But when I package this class as Jar and deploy in jasper server lib folder along with jrs-rest-java-client-6.2.0-jar-with-dependencies.jar. I am facing the following exception:
javax.ws.rs.ProcessingException: javax.ws.rs.core.Response$Status$Family.familyOf(I)Ljavax/ws/rs/core/Response$Status$Family;
at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:264)
at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:684)
at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:681)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.process(Errors.java:228)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:444)
at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:681)
at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:437)
at org.glassfish.jersey.client.JerseyInvocation$Builder.post(JerseyInvocation.java:343)
at com.jaspersoft.jasperserver.jaxrs.client.core.JasperserverRestClient.login(JasperserverRestClient.java:100)
at com.jaspersoft.jasperserver.jaxrs.client.core.JasperserverRestClient.authenticate(JasperserverRestClient.java:76)
at com.jaspersoft.jasperserver.jaxrs.client.core.JasperserverRestClient.authenticate(JasperserverRestClient.java:50)
at com.gptm.jasper.purge.JasperArchivePurge.getResourceDetails(JasperArchivePurge.java:132)
at com.gptm.jasper.purge.JasperArchivePurge.test(JasperArchivePurge.java:296)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:64)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:53)
at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoSuchMethodError: javax.ws.rs.core.Response$Status$Family.familyOf(I)Ljavax/ws/rs/core/Response$Status$Family;
at org.glassfish.jersey.message.internal.Statuses$StatusImpl.(Statuses.java:63)
at org.glassfish.jersey.message.internal.Statuses$StatusImpl.(Statuses.java:54)
at org.glassfish.jersey.message.internal.Statuses.from(Statuses.java:143)
at org.glassfish.jersey.client.internal.HttpUrlConnector._apply(HttpUrlConnector.java:397)
at org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:285)
at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:255)
... 28 more
Below code execution is throwing the above error:
RestClientConfiguration configuration;
configuration = new RestClientConfiguration(url);
configuration.setContentMimeType(MimeType.JSON);
configuration.setAcceptMimeType(MimeType.JSON);
client = new JasperserverRestClient(configuration);
session = client.authenticate(jusername, jpassword);
// Searching the JasperReports Server Repository
OperationResult scheduledreportslist = session
.resourcesService().resources()
.parameter(ResourceSearchParameter.FOLDER_URI, folderuri)
.parameter(ResourceSearchParameter.LIMIT, limit).search();
I assume it to be a JAR conflict, Please share your inputs to resolve this issue at the earliest.
This is jar conflict issue. Server uses Jersey 1.x and client uses Jersey 2.x. They are not compatible. It's not possible to deploy them together and keep both working.
Hi,
We are using JasperReports server v6.2.0. with Apache Tomcat as AS.
I ‘ve implemented a code to Purging the content Resource files (scheduled export files) from Jasper server by extended the Jasper REST API as per the following link contributed by you: https://github.com/Jaspersoft/jrs-rest-java-client
I’ve created a java project in Eclipse IDE and able to successfully execute the code from Eclipse IDE.
But when I package this class as Jar and deploy in jasper server lib folder along with jrs-rest-java-client-6.2.0-jar-with-dependencies.jar. I am facing the following exception: javax.ws.rs.ProcessingException: javax.ws.rs.core.Response$Status$Family.familyOf(I)Ljavax/ws/rs/core/Response$Status$Family; at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:264) at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:684) at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:681) at org.glassfish.jersey.internal.Errors.process(Errors.java:315) at org.glassfish.jersey.internal.Errors.process(Errors.java:297) at org.glassfish.jersey.internal.Errors.process(Errors.java:228) at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:444) at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:681) at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:437) at org.glassfish.jersey.client.JerseyInvocation$Builder.post(JerseyInvocation.java:343) at com.jaspersoft.jasperserver.jaxrs.client.core.JasperserverRestClient.login(JasperserverRestClient.java:100) at com.jaspersoft.jasperserver.jaxrs.client.core.JasperserverRestClient.authenticate(JasperserverRestClient.java:76) at com.jaspersoft.jasperserver.jaxrs.client.core.JasperserverRestClient.authenticate(JasperserverRestClient.java:50) at com.gptm.jasper.purge.JasperArchivePurge.getResourceDetails(JasperArchivePurge.java:132) at com.gptm.jasper.purge.JasperArchivePurge.test(JasperArchivePurge.java:296) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:64) at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:53) at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NoSuchMethodError: javax.ws.rs.core.Response$Status$Family.familyOf(I)Ljavax/ws/rs/core/Response$Status$Family; at org.glassfish.jersey.message.internal.Statuses$StatusImpl.(Statuses.java:63)
at org.glassfish.jersey.message.internal.Statuses$StatusImpl.(Statuses.java:54)
at org.glassfish.jersey.message.internal.Statuses.from(Statuses.java:143)
at org.glassfish.jersey.client.internal.HttpUrlConnector._apply(HttpUrlConnector.java:397)
at org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:285)
at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:255)
... 28 more
Below code execution is throwing the above error:
RestClientConfiguration configuration; configuration = new RestClientConfiguration(url); configuration.setContentMimeType(MimeType.JSON); configuration.setAcceptMimeType(MimeType.JSON); client = new JasperserverRestClient(configuration); session = client.authenticate(jusername, jpassword);
// Searching the JasperReports Server Repository OperationResult scheduledreportslist = session
.resourcesService().resources()
.parameter(ResourceSearchParameter.FOLDER_URI, folderuri)
.parameter(ResourceSearchParameter.LIMIT, limit).search();
I assume it to be a JAR conflict, Please share your inputs to resolve this issue at the earliest.