0

XML (リクエストボディ) から解析されたオブジェクトを取得しようとしています。私のコントローラーメソッドのヘッダーは

public ModelAndView differentTypeOfIds(@RequestBody DiffIdsRequest.DescBatch body){

ここで、DescBatch は静的内部クラスです

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = { 
    "descBatch"
})  
@XmlRootElement(name = "diffIdsRequest")
public class DiffIdsRequest {

    @XmlElement(name = "desc-batch", required = true)
    protected DiffIdsRequest.DescBatch descBatch;

    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = { 
        "descItem"
    })  
    public static class DescBatch {

サーブレット構成のスニペット

<oxm:jaxb2-marshaller id="marshaller">
    <oxm:class-to-be-bound name="eu.eudml.restModel.DiffIdsRequest$DescBatch" />
</oxm:jaxb2-marshaller>

ログに行が表示されます

2012-07-31 17:34:11,604   [] [pool-2-thread-1] INFO  o.s.oxm.jaxb.Jaxb2Marshaller - Creating JAXBContext with clas    ses to be bound [class eu.eudml.restModel.DiffIdsRequest$DescBatch]

問題ないようですが、データ (名前空間のない xml) を送信しているときに、differentTypeIds メソッドが呼び出されません。ModelAndView が null (ログ) です。

内部クラスなどに問題はありますか?

4

1 に答える 1

0

あなたが行方不明@XmlRootElement@XmlType、オンになっているようですDescBatch。また、 Accept ヘッダーがapplication/xmlリクエストの一部として送信されることを確認する必要があります。

于 2012-07-31T16:21:24.403 に答える