Jump to content
We've recently updated our Privacy Statement, available here ×

studio 7.5.0 cannot export report from server 6.2


mc.sirius

Recommended Posts

I wanna export a report from server 6.2 by studio 7.5.0, but it is set in studio 7.5.0 like code below:

    public StateDto exportMetaData(ExportOptions options, IProgressMonitor monitor) throws Exception {

    public StateDto exportMetaData(ExportOptions options, IProgressMonitor monitor) throws Exception {        if (options.getState() != null) {            WebTarget tgt = target.path("export/" + options.getState().getId() + "/state"); //$NON-NLS-1$ //$NON-NLS-2$            Builder req = HttpUtils.getRequest(tgt);            Response r = connector.get(req, monitor);            StateDto state = toObj(r, StateDto.class, monitor);            options.setState(state);            if (state.getPhase().equals("finished")) { //$NON-NLS-1$                tgt = target.path("export/" + options.getState().getId() + "/export.zip"); //$NON-NLS-1$ //$NON-NLS-2$                req = HttpUtils.getRequest(tgt);                r = connector.get(req, monitor);                monitor.subTask(Messages.RestV2ConnectionJersey_175 + options.getFile());                File file = new File(options.getFile());                readFile(r, file, monitor);            }        } else {            WebTarget tgt = target.path("export"); //$NON-NLS-1$            ExportTaskDto taskDTO = new ExportTaskDto();            List<String> parameters = options.getParameters();            if (!parameters.isEmpty())                taskDTO.setParameters(parameters);            if (!options.getRoles().isEmpty())                taskDTO.setRoles(options.getRoles());            if (!options.getJobs().isEmpty())                taskDTO.setScheduledJobs(options.getJobs());            if (!options.getUsers().isEmpty())                taskDTO.setUsers(options.getUsers());            if (!options.getPaths().isEmpty())                taskDTO.setUris(options.getPaths());            Builder req = HttpUtils.getRequest(tgt);            Response r = connector.post(req, Entity.entity(taskDTO, getMediaType()), monitor);            StateDto state = toObj(r, StateDto.class, monitor);            options.setState(state);        }        return options.getState();    protected MediaType getMediaType() {        if (serverInfo != null && serverInfo.getVersion().compareTo("6.3") >= 0)            return MediaType.APPLICATION_JSON_TYPE;        return MediaType.APPLICATION_XML_TYPE;    }[/code]

According to code above, Application/xml type for request is gotten for exportMetadata API of server 6.2, but server get error like below:

2021-12-13 11:05:28,848 ERROR GenericExceptionMapper,http-apr-8080-exec-9:47 - Unexpected error occursjavax.ws.rs.WebApplicationException: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 2 counts of IllegalAnnotationExceptionsClass has two properties of the same name "organization"        this problem is related to the following location:                at public java.lang.String com.jaspersoft.jasperserver.dto.importexport.ExportTask.getOrganization()                at com.jaspersoft.jasperserver.dto.importexport.ExportTask        this problem is related to the following location:                at private java.lang.String com.jaspersoft.jasperserver.dto.importexport.ExportTask.organization                at com.jaspersoft.jasperserver.dto.importexport.ExportTaskClass has two properties of the same name "resourceTypes"        this problem is related to the following location:                at public java.util.List com.jaspersoft.jasperserver.dto.importexport.ExportTask.getResourceTypes()                at com.jaspersoft.jasperserver.dto.importexport.ExportTask        this problem is related to the following location:                at private java.util.List com.jaspersoft.jasperserver.dto.importexport.ExportTask.resourceTypes                at com.jaspersoft.jasperserver.dto.importexport.ExportTask        at com.sun.jersey.core.provider.jaxb.AbstractRootElementProvider.readFrom(AbstractRootElementProvider.java:115)        at com.sun.jersey.spi.container.ContainerRequest.getEntity(ContainerRequest.java:483)        at com.sun.jersey.server.impl.model.method.dispatch.EntityParamDispatchProvider$EntityInjectable.getValue(EntityParamDispatchProvider.java:123)        at com.sun.jersey.server.impl.inject.InjectableValuesProvider.getInjectableValues(InjectableValuesProvider.java:46)        at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$EntityParamInInvoker.getParams(AbstractResourceMethodDispatchProvider.java:153)        at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:203)        at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)        at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)        at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)        at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)        at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)        at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1483)        at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1414)        at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1363)        at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1353)        at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:414)        at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)        at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:708)......[/code]

I focus on ExportTask.java and find there are 2 counts of same-named properties, how can I repair the error:

    @XmlElementWrapper(name = "resourceTypes")    @XmlElement(name = "resourceType")    private List<String> resourceTypes;    @XmlElement(name = "organization")    private String organization;[/code]

PS: IF we use JSON TYPE for epxortMetadata api, there is no error!!!!!!

Link to comment
Share on other sites

  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...