Hi,
We are using JasperReports server v6.2.0. with Apache Tomcat as Application server.
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.<init>(Statuses.java:63)
at org.glassfish.jersey.message.internal.Statuses$StatusImpl.<init>(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<ClientResourceListWrapper> scheduledreportslist = session
.resourcesService().resources()
.parameter(ResourceSearchParameter.FOLDER_URI, folderuri)
.parameter(ResourceSearchParameter.LIMIT, limit).search();
Please share your inputs to resolve this issue at the earliest.
Many Thanks in advance.