Spring 3.2.5返回" 406 Not Acceptable"如果路径以" .xml"结尾

时间:2015-10-06 16:13:34

标签: java xml spring

我看着对方" 406不能接受"关于春天的问题,我还没有找到答案。

我想做的是提供XML文件。

所以我认为我可以像这样访问它:

 http://something.something.com/something/wp7.xml

它返回" 406 Not Acceptable"

但它有点奇怪。负责处理此问题的代码如下:

@Controller
public class FileController {
    @Autowired
    ApplicationConfiguration appConfig;

    @RequestMapping(value = "/something/{platform:.+}", produces = {"text/xml;charset=UTF-8"})
    public ResponseEntity<String> processRequest(@PathVariable("platform") String platform)
            throws Exception {
        try {
            String xml_path = appConfig.get(getXMLConfigKey(platform));
            File file = new File(ApplicationConfiguration.BASE_CONFIG_DIR + File.separator + xml_path);
            if (!file.exists()) {
                throw new Exception("The file [" + file.getAbsolutePath() + "] does not exist!");
            }
            return new ResponseEntity<String>(IOUtils.toString(new FileInputStream(file), "UTF-8"), HttpStatus.OK);
        } catch (Exception e) {
            logger.error("An error occurred while serving file", e);
            throw e;
        }
    }
}

这很奇怪,因为:

1。)我在其他任何地方都提供与此类似的XML响应,并且可以正常工作

2。)如果我使用以下任何一种方法,它会起作用:

 http://something.something.com/something/wp7

 http://something.something.com/something/wp7.xm

 http://something.something.com/something/wp7.xmldfg

它确实适用于所有除了以及#34; xml&#34;在末尾。然后它给出406。

我不明白发生了什么。我甚至不知道在哪里看。

0 个答案:

没有答案