J'ai un projet Spring MVC 3/J2EE. Les contrôleurs de rendu jsp fonctionnent correctement, mais le contrôleur qui affiche XML pour Ajax ne fonctionne pas. J'utilise JDK 1.6 dans RAD 7.5, donc JAXB devrait être sur le classpath, et j'ai même essayé d'ajouter les derniers jars JAXB au fichier lib pour être sûr. Je reçois toujours une erreur 406 lorsque je fais l'appel. Mon appel DOJO a handleAs: "xml"
, et j'ai confirmé que application/xml
est sur l'en-tête Accept
via FireBug. J'ai la ligne <mvc:annotation-driven />
dans mon fichier print xml servlet. Je peux voir la méthode invoquée et renvoyée sans erreur. Je ne suis pas sûr de ce que je devrais essayer de déboguer.@ResponseBody ne produit pas XML en 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 ...");
}
Je serais surpris si cela provoquerait le '406', cependant, je suis d'accord qu'un emballage est nécessaire. – SingleShot
Oui, j'ai vu ça dans une autre réponse. Essayer aujourd'hui. –