Git Product home page Git Product logo

Comments (6)

frandevel avatar frandevel commented on May 30, 2024

What kind of error are you getting? Could you describe your problem?

from jrs-rest-java-client.

boryskolesnykov avatar boryskolesnykov commented on May 30, 2024

API for Jobs service has been slightly changed.
Now JobExtension doesn't exist anymore, so you have to use only Job type to work with Jobs service.

from jrs-rest-java-client.

kc5mzr avatar kc5mzr commented on May 30, 2024

Ok, that gets me farther down the road. I now get this error using the latest Jar from today.
The error occurs on the JobService().ScheduleReport call.
RestClientConfiguration configuration = new RestClientConfiguration(
"http://" + server + "/jasperserver/");
JasperserverRestClient client = new JasperserverRestClient(
configuration);
Session session = client.authenticate("jasperadmin", "XXXXXXXXXX");
OperationResult result = session.jobsService().scheduleReport(job);
job = result.getEntity();

Jasper Server version 5.5.0

Apr 15, 2014 3:26:03 PM com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.handling.DefaultErrorHandler readBody
WARNING: Cannot read entity from response body
javax.ws.rs.ProcessingException: Error reading entity from input stream.
at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:868)
at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:785)
at org.glassfish.jersey.client.ClientResponse.readEntity(ClientResponse.java:267)
at org.glassfish.jersey.client.InboundJaxrsResponse$1.call(InboundJaxrsResponse.java:111)
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:397)
at org.glassfish.jersey.client.InboundJaxrsResponse.readEntity(InboundJaxrsResponse.java:108)
at com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.handling.DefaultErrorHandler.readBody(DefaultErrorHandler.java:68)
at com.jaspersoft.jasperserver.jaxrs.client.apiadapters.jobs.JobValidationErrorHandler.handleBodyError(JobValidationErrorHandler.java:41)
at com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.handling.DefaultErrorHandler.handleError(DefaultErrorHandler.java:59)
at com.jaspersoft.jasperserver.jaxrs.client.core.JerseyRequest.executeRequest(JerseyRequest.java:178)
at com.jaspersoft.jasperserver.jaxrs.client.core.JerseyRequest.put(JerseyRequest.java:131)
at com.jaspersoft.jasperserver.jaxrs.client.apiadapters.jobs.JobsService.scheduleReport(JobsService.java:60)
at com.acustream.jasper.ScheduleJasperReportNew.main(ScheduleJasperReportNew.java:247)
Caused by: org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "message" (Class com.jaspersoft.jasperserver.jaxrs.client.dto.common.ValidationErrorsListWrapper), not marked as ignorable
at [Source: org.glassfish.jersey.message.internal.EntityInputStream@6063f5af; line: 1, column: 13](through reference chain: com.jaspersoft.jasperserver.jaxrs.client.dto.common.ValidationErrorsListWrapper["message"])
at org.codehaus.jackson.map.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:53)
at org.codehaus.jackson.map.deser.StdDeserializationContext.unknownFieldException(StdDeserializationContext.java:267)
at org.codehaus.jackson.map.deser.std.StdDeserializer.reportUnknownProperty(StdDeserializer.java:649)
at org.codehaus.jackson.map.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:635)
at org.codehaus.jackson.map.deser.BeanDeserializer.handleUnknownProperty(BeanDeserializer.java:1355)
at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:717)
at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580)
at org.codehaus.jackson.map.ObjectMapper._readValue(ObjectMapper.java:2695)
at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1308)
at org.codehaus.jackson.jaxrs.JacksonJsonProvider.readFrom(JacksonJsonProvider.java:419)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.invokeReadFrom(ReaderInterceptorExecutor.java:239)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.aroundReadFrom(ReaderInterceptorExecutor.java:211)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:139)
at org.glassfish.jersey.message.internal.MessageBodyFactory.readFrom(MessageBodyFactory.java:1109)
at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:853)
... 15 more

from jrs-rest-java-client.

boryskolesnykov avatar boryskolesnykov commented on May 30, 2024

Hi kc5mzr,

Job entity has a lot of mandatory fields, and these errors were caused by server validation. I've slightly changed exception handling to give more clear error descriptors, but you still can met such exceptions as this

Exception in thread "main" com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.UnexpectedErrorException: jsexception.null.uri
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.handling.DefaultErrorHandler.handleBodyError(DefaultErrorHandler.java:88)
    at com.jaspersoft.jasperserver.jaxrs.client.apiadapters.jobs.JobValidationErrorHandler.handleBodyError(JobValidationErrorHandler.java:44)
    at com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.handling.DefaultErrorHandler.handleError(DefaultErrorHandler.java:59)
    at com.jaspersoft.jasperserver.jaxrs.client.core.JerseyRequest.executeRequest(JerseyRequest.java:178)
    at com.jaspersoft.jasperserver.jaxrs.client.core.JerseyRequest.put(JerseyRequest.java:131)
    at com.jaspersoft.jasperserver.jaxrs.client.apiadapters.jobs.JobsService.scheduleReport(JobsService.java:60)
    at com.jaspersoft.jasperserver.jaxrs.client.core.SessionStorage.main(SessionStorage.java:166)
    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 com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

or this

Exception in thread "main" com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.UnexpectedErrorException: jsexception.job.unknown.start.type
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.handling.DefaultErrorHandler.handleBodyError(DefaultErrorHandler.java:88)
    at com.jaspersoft.jasperserver.jaxrs.client.apiadapters.jobs.JobValidationErrorHandler.handleBodyError(JobValidationErrorHandler.java:44)
    at com.jaspersoft.jasperserver.jaxrs.client.core.exceptions.handling.DefaultErrorHandler.handleError(DefaultErrorHandler.java:59)
    at com.jaspersoft.jasperserver.jaxrs.client.core.JerseyRequest.executeRequest(JerseyRequest.java:178)
    at com.jaspersoft.jasperserver.jaxrs.client.core.JerseyRequest.put(JerseyRequest.java:131)
    at com.jaspersoft.jasperserver.jaxrs.client.apiadapters.jobs.JobsService.scheduleReport(JobsService.java:60)
    at com.jaspersoft.jasperserver.jaxrs.client.core.SessionStorage.main(SessionStorage.java:166)
    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 com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

These error descriptors are not very clear for user, but it's impossible to make them more clear because of JRS constraints. So if you will have any questions, you can always ask me and I'll try to help solve your problem.
So now you should get the latest SNAPSHOT version of jrs-rest-client, fill out all mandatory fields for Job entity and try again. Below you can find a simple example with all mandatory fields filled.

    public static void main(String[] args) throws InterruptedException {

        RestClientConfiguration configuration = new RestClientConfiguration("http://localhost:4444/jasperserver/");
        JasperserverRestClient client = new JasperserverRestClient(configuration);
        Session session = client.authenticate("jasperadmin", "jasperadmin");

        Job job = new Job();
        job.setLabel("Test Job");
        job.setBaseOutputFilename("TestJobFile");

        JobSource source = new JobSource();
        source.setReportUnitURI("/reports/samples/StandardChartsEyeCandyReport");
        job.setSource(source);

        SimpleTrigger trigger = new SimpleTrigger();
        trigger.setOccurrenceCount(2);
        trigger.setRecurrenceInterval(1000);
        trigger.setRecurrenceIntervalUnit(IntervalUnitType.HOUR);
        trigger.setStartType(JobTrigger.START_TYPE_SCHEDULE);
        trigger.setStartDate(new Date());
        job.setTrigger(trigger);

        Set<OutputFormat> outputFormats = new HashSet<OutputFormat>(Arrays.asList(OutputFormat.PDF));
        job.setOutputFormats(outputFormats);

        RepositoryDestination repositoryDestination = new RepositoryDestination();
        job.setRepositoryDestination(repositoryDestination);

        OperationResult<Job> result = session
                .jobsService()
                .scheduleReport(job);
        System.out.println(result.getEntity());

    }

from jrs-rest-java-client.

kc5mzr avatar kc5mzr commented on May 30, 2024

Thanks. I can't seem to compile the Develop branch.

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project jrs-rest-java-client: Compilation failure
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project jrs-rest-java-client: Compilation failure
[ERROR] /Users/jimyates/Downloads/jrs-rest-java-client-develop/src/main/java/com/jaspersoft/jasperserver/jaxrs/client/core/exceptions/JSClientException.java:[39,8] cannot find symbol
[ERROR] symbol  : constructor RuntimeException(java.lang.String,java.lang.Throwable,boolean,boolean)
[ERROR] location: class java.lang.RuntimeException

java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b21)
Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode)

I do notice a couple of the trigger fields that I'm missing. I'll fill those in and try again.

from jrs-rest-java-client.

kc5mzr avatar kc5mzr commented on May 30, 2024

I got the Snapshot Jar from from the jaspersoft repo. The extra validation messages helped me pinpoint where I missed a required field. I'll figure out the compile issue.

from jrs-rest-java-client.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.