REST-сервис, который может использовать как XML, так и JSON.Где ввод JSON работает нормально.XML запрос возвращает ошибку Bad Request.Что можно сделать, чтобы принять запрос XML.
Это старый проект, использующий spring 3 & jdk 6
@RequestMapping(value = URIConstants.EST, method = RequestMethod.POST , consumes={"application/json", "application/xml"}, produces={"application/xml","application/json"})
public @ResponseBody ResponseEntity<?> getMasEstablishments(@RequestBody EstDto msaEstRequestDto) throws MasterException {
}
Это dto, который используется для отображенияinput.
// EstDto
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class EstDto implements Serializable {
private long regionCode;
private String medicalReportYN;
}
Это несколько записей в pom.xml, относящихся к отображению
Pom.xml
-----------
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.7.1</version>
</dependency>
При передаче ввода в виде json сервис возвращает результат, как и ожидалось
При запросе XML
<?xml version="1.0" encoding="UTF-8"?>
<root>
<medicalReportYN>N</medicalReportYN>
<regionCode>50001</regionCode>
</root>
Ошибка ответа XML
<HTML>
<HEAD>
<TITLE>Error 400--Bad Request</TITLE>
</HEAD>
---------------------------
<P>
<FONT FACE="Courier New">The request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat the request without modifications.</FONT>
</P>
</FONT>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
Дайте мне знать, если вам понадобятся какие-либо дополнительные сведения.Он отлично работает с существующей конфигурацией для данных JSON.Чтобы это работало для ввода XML, какие изменения нужно добавить?