У меня есть проект Spring MVC 3/J2EE. Контроллеры рендеринга jsp работают нормально, но один контроллер, который отображает XML для Ajax, не работает. Я использую JDK 1.6 в RAD 7.5, поэтому JAXB должен быть на пути к классам, и я даже попытался добавить последние JAXB-банки в файл lib, чтобы убедиться. Я все еще получаю ошибку 406, когда я делаю звонок. Мой вызов DOJO имеет handleAs: "xml"
, и я подтвердил, что application/xml
находится на заголовке Accept
через FireBug. У меня есть строка <mvc:annotation-driven />
в моем XML-файле весеннего сервлета. Я вижу, что метод вызывается и возвращается без ошибок. Я не уверен, что я должен попробовать после отладки.@ResponseBody не создает XML в Java 6
//Country is a class with only primative types which implements Serializable.
public @ResponseBody List<Country> getCountries(){
return addressService.getCountries();
}
function loadData(){
console.log("Before get ...");
dojo.xhrGet({
url:"http://localhost:9080/sample/shared/getCountries.htm",
handleAs:"xml",
load: function(data){
console.log("In load function ...");
try {
for(var i in data){
console.log("key", i, "value", data[i]);
}
}catch (ex){
console.error("Failure in load function: " + ex);
}
console.log("Exiting load function ...");
},
error: function(x){
console.error("Error in ajax ...");
console.error(x);
},
failOk: false
});
console.log("After get ...");
}
Я был бы удивлен, если бы это вызвало '406', однако я согласен с тем, что нужна обертка. – SingleShot
Да, я видел это в другом ответе. Попытка сегодня. –