Java 不支持的媒体类型,Http错误415
我实际上在做一个项目,它涉及到一个Adobe Flash Player Windows和一些Flex,它调用一个包含在spring mvc控制器中的rest服务,其目的是使用一个服务生成一个带有Jasper report的pdf文件 以下是调用web服务的ActionScript方法:Java 不支持的媒体类型,Http错误415,java,rest,spring-mvc,actionscript-3,flash-builder,Java,Rest,Spring Mvc,Actionscript 3,Flash Builder,我实际上在做一个项目,它涉及到一个Adobe Flash Player Windows和一些Flex,它调用一个包含在spring mvc控制器中的rest服务,其目的是使用一个服务生成一个带有Jasper report的pdf文件 以下是调用web服务的ActionScript方法: private function editerCourrier():void{ //Security.loadPolicyFile("http://appserv01.siege.xm:4040/Edition
private function editerCourrier():void{
//Security.loadPolicyFile("http://appserv01.siege.xm:4040/Editions/RetardLivraison/crossdomain.xml");
if(this.gridActivated == "mailing"){
var request:URLRequest = new
URLRequest("http://10.102.22.143:8280/edition_sc_retards_livraisons/Export/RetardLivraisonLettre");
var hdr:URLRequestHeader = new URLRequestHeader("Content-type", "application/json");
request.method = URLRequestMethod.POST;
request.requestHeaders.push(hdr);
var jsonArray:Array = new Array();
jsonArray.push({
"civilite" : "Mr.",
"destNom" : "TAMBE",
"destPrenom" : "JOEL",
"destAdresseFull" : "54 rue des Cocotiers",
"destCP" : "93270",
"destVille" : "ANTONY",
"nomPays" : "FRANCE",
"pjPath" : "http://192.168.200.97/intranet/e107_files/mail_attachement/MAIL_AVENANT_TEMPORAIRE_1507817106_1534679.txt"
});
request.data = jsonArray;
navigateToURL(request,"win_cour");
}
}
另外,这是rest控制器
@Api
@Controller
public class RetardLivraisonLettreControllerImpl implements RetardLivraisonLettreController {
private static Logger logger = Logger.getLogger(RetardLivraisonLettreControllerImpl.class);
private final EditionConfig editionConfig;
private final EditionService editionService;
private static final String SUCCESS = "success";
private static final String ERROR = "error";
public RetardLivraisonLettreControllerImpl(EditionConfig editionConfig, EditionService editionService) {
this.editionConfig = editionConfig;
this.editionService = editionService;
}
@RequestMapping(value = "/Export/RetardLivraisonLettre", method = RequestMethod.POST, produces = "application/pdf", consumes = {
"application/json",
"application/x-www-form-urlencoded;charset=ISO-8859-1" }, headers = "Accept=application/x-www-form-urlencoded")
@Override
public ResponseEntity<String> retardLivraisonLettre(@RequestBody RetardLivraisonLettreBean bean,
HttpServletResponse response) throws InvalidParameterException {
logger.debug("appel retardLivraisonLettre");
String nomCible = editionConfig.getNomCible();
try {
// Download du PDF
logger.debug("Download du PDF");
editionService.retardLivraisonLettre(bean, response.getOutputStream());
response.setContentType("application/x-download");
response.setHeader("Content-Disposition", "attachment; filename=" + nomCible);
response.getWriter().close();
response.setHeader(SUCCESS, "Edition du PDF de la lettre de retard de livraison effectué avec succès");
} catch (IOException e) {
logger.error(e.getMessage(), e);
response.setHeader(ERROR, "Erreur lors de l'édition du PDF de la lettre de retard de livraison effectué");
return new ResponseEntity<String>(response.getHeader(ERROR), HttpStatus.BAD_REQUEST);
}
return new ResponseEntity<String>(response.getHeader(SUCCESS), HttpStatus.ACCEPTED);
}
}
@Api
@控制器
公共类DelayLivRaisonletRecontrollerImpl实现DelayLivRaisonletRecontroller{
专用静态记录器Logger=Logger.getLogger(DelayLivRaisonletRecontrollerImpl.class);
私有最终编辑配置编辑配置;
私人最终编辑服务编辑服务;
私有静态最终字符串SUCCESS=“SUCCESS”;
私有静态最终字符串ERROR=“ERROR”;
public DelayLivRaisonlettRecontrollerImpl(编辑配置编辑配置,编辑服务编辑服务){
this.editionConfig=editionConfig;
this.editionService=editionService;
}
@RequestMapping(value=“/Export/delaylivraisonlettre”,method=RequestMethod.POST,products=“application/pdf”,consumes={
“应用程序/json”,
“application/x-www-form-urlencoded;charset=ISO-8859-1”},headers=“Accept=application/x-www-form-urlencoded”)
@凌驾
公共响应延迟livraisonletter(@RequestBody delitlivraisonletterebean,
HttpServletResponse响应)引发InvalidParameterException{
logger.debug(“appel delaylivraisonlettre”);
字符串nomCible=editionConfig.getNomCible();
试一试{
//下载du-PDF
debug(“下载dupdf”);
editionService.DelayLivRaisonletre(bean,response.getOutputStream());
setContentType(“应用程序/x下载”);
response.setHeader(“内容处置”、“附件;文件名=“+nomCible”);
response.getWriter().close();
回复:setHeader(成功,“成功延缓生存效果PDF版本”);
}捕获(IOE异常){
logger.error(e.getMessage(),e);
响应。设置标题(错误,“PDF文件中的错误”表示延迟寿命效应);
返回新的ResponseEntity(response.getHeader(错误)、HttpStatus.BAD_请求);
}
返回新的ResponseEntity(response.getHeader(SUCCESS),HttpStatus.ACCEPTED);
}
}
请求标题应命名为“内容类型”,而不是“内容类型”。我编辑了我的问题,因为我的按钮现在在打开新选项卡时触发了一个新标签。但我得到了一个http 415错误。请帮忙。