i use spring web 3.1.1 and spring oxm 3.1.1.
when jaxb2marshaller attempt to unmarshall xml source to object blow Exception occured.
2012-12-03 13:38:41,152[k.c.s.s.c.r.AuthenticationController:154][ERROR] JAXB unmarshalling exception; nested exception is javax.xml.bind.UnmarshalException: Namespace URIs and local names to the unmarshaller needs to be interned
org.springframework.oxm.UnmarshallingFailureException: JAXB unmarshalling exception; nested exception is javax.xml.bind.UnmarshalException: Namespace URIs and local names to the unmarshaller needs to be interned
at org.springframework.oxm.jaxb.Jaxb2Marshaller.convertJaxbException(Jaxb2Marshaller.java:761) ~[org.springframework.oxm-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.oxm.jaxb.Jaxb2Marshaller.unmarshal(Jaxb2Marshaller.java:682) ~[org.springframework.oxm-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.oxm.jaxb.Jaxb2Marshaller.unmarshal(Jaxb2Marshaller.java:665) ~[org.springframework.oxm-3.1.1.RELEASE.jar:3.1.1.RELEASE]
i configured jaxb2 marshall on my sevlet setting like this.
<oxm:jaxb2-marshaller id="marshaller">
<oxm:class-to-be-bound name="kr.co.skcomms.simon.bean.rest.Authentication" />
</oxm:jaxb2-marshaller>
and on the Controller try to unmarshall like this.
@Autowired
public Jaxb2Marshaller marshaller;
....
Source source = new StreamSource(new StringReader(body));
Authentication authentication = (Authentication) marshaller.unmarshal(source);
and My Authentication Object .
@XmlRootElement
public class Authentication {
private String simon_auth;
private String client_ip;
private String request_url;
public Authentication(){
}
@XmlElement
public String getSimon_auth() {
return simon_auth;
}
public void setSimon_auth(String simon_auth) {
this.simon_auth = simon_auth;
}
@XmlElement
public String getClient_ip() {
return client_ip;
}
public void setClient_ip(String client_ip) {
this.client_ip = client_ip;
}
@XmlElement
public String getRequest_url() {
return request_url;
}
public void setRequest_url(String request_url) {
this.request_url = request_url;
}
}
i refered this article.. http://www.ibm.com/developerworks/webservices/library/wa-spring3webserv/index.html
i think my sources are absolutly same with article's sample code.
but it doesn't work well.
i appreciate your help.