mc.sirius Posted December 13, 2021 Share Posted December 13, 2021 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now