org.springframework.oxm.jaxb.Jaxb2Marshallerを使用して、リクエストxmlをアンマーシャリングしています。エンコーディングがプロローグで次のように設定されている場合でも、リクエストに「&」(アンパサンド)が含まれているため、アンマーシャリングは失敗します
requestXML-
<?xml version="1.0" encoding="utf-8"?><createaccountrequest><username>Test&jsongg</username><userpassword>12345</userpassword></createaccountrequest>
私が得る例外は以下の通りです
500内部サーバーエラー org.springframework.http.converter.HttpMessageNotReadableException:[class com.marketplace.system.customer.service.component.request.vo.AccountRequestVO]にアンマーシャリングできませんでした:null; ネストされた例外はjavax.xml.bind.UnmarshalExceptionです -リンクされた例外を除く: [org.xml.sax.SAXParseException:エンティティ"jsongg1h61"への参照は「;」で終わる必要があります デリミタ。] org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter.readFromSource(Jaxb2RootElementHttpMessageConverter.java:82)〜[spring-web-3.1.0.RELEASE.jar:3.1.0.RELEASE]で org.springframework.http.converter.xml.AbstractXmlHttpMessageConverter.readInternal(AbstractXmlHttpMessageConverter.java:61)〜[spring-web-3.1.0.RELEASE.jar:3.1.0.RELEASE]で org.springframework.http.converter.AbstractHttpMessageConverter.read(AbstractHttpMessageConverter.java:153)〜[spring-web-3.1.0.RELEASE.jar:3.1.0.RELEASE]で org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:120)〜[spring-webmvc-3.1.0.RELEASE.jar:3.1.0.RELEASE]
どんなポインタも大いに役立ちます。
前もって感謝します