Java Android上Spring RestTemplate的XML响应解析
我的目标是解析从REST服务api返回的响应。 我的问题是,对于日期字段,解析器抛出Java Android上Spring RestTemplate的XML响应解析,java,android,spring,web-services,rest,Java,Android,Spring,Web Services,Rest,我的目标是解析从REST服务api返回的响应。 我的问题是,对于日期字段,解析器抛出 org.springframework.http.converter.httpmessagenoteradableexception:无法读取[class com.example.sfeher.myapplication.HrpEventsHelper];嵌套异常为java.text.ParseException:不可解析日期:“2015-09-15T00:00:00+02:00”(偏移量10处) 我的服务界
org.springframework.http.converter.httpmessagenoteradableexception:无法读取[class com.example.sfeher.myapplication.HrpEventsHelper];嵌套异常为java.text.ParseException:不可解析日期:“2015-09-15T00:00:00+02:00”(偏移量10处)
我的服务界面:
@Path("/")
@WebService(name="HrpRESTService", targetNamespace="http://ws.xxx.hu/rest")
@Secured("ROLE_WS")
public interface HrpRESTService {
@Path("/get")
@POST
@Produces({MediaType.APPLICATION_XML})
public Response showMe();
}
My rest service method from my implementing class:
@Override
public Response showMe() {
customBo.getDaoSession().beginTransaction();
List l=customBo.findAll(HrpEvents.class);
customBo.getDaoSession().getTransaction().commit();
//GenericEntity> ge=new GenericEntity>(l){};
HrpEventsHelper helper=new HrpEventsHelper();
helper.setTitle(l.get(0).getTitle());
helper.setUrgency(l.get(0).getUrgency());
helper.setEventDate(l.get(0).getEventDate());
return Response.ok(helper).build();
}
我使用具有以下依赖项的Android Studio:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.fasterxml.jackson.core:jackson-core:2.6.2'
compile 'com.fasterxml.jackson.core:jackson-databind:2.6.2'
compile 'com.fasterxml.jackson.core:jackson-annotations:2.6.2'
compile 'org.springframework.android:spring-android-rest-template:1.0.1.RELEASE'
compile 'com.hannesdorfmann:httpkit-simple-xml:1.5.5'
}
最后是我的客户代码的相关部分:
headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
headers.setAccept(Arrays.asList(MediaType.APPLICATION_XML));
map = new LinkedMultiValueMap();
map.add("access_token", tokenMap.get("access_token"));
request = new HttpEntity>(map, headers);
messageConverters = new ArrayList>();
messageConverters.add(new SimpleXmlHttpMessageConverter());
messageConverters.add(new FormHttpMessageConverter());
restTemplate.setMessageConverters(messageConverters);
HrpEventsHelper response=restTemplate.postForObject(apiURL, request, HrpEventsHelper.class);
System.out.println(response.getTitle());
我的实体助手类:
package com.example.sfeher.myapplication;
import java.io.Serializable;
import java.util.Date;
public class HrpEventsHelper implements Serializable {
private String title;
private String urgency;
Date eventDate;
public HrpEventsHelper() {
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getUrgency() {
return urgency;
}
public void setUrgency(String urgency) {
this.urgency = urgency;
}
public Date getEventDate() {
return eventDate;
}
public void setEventDate(Date eventDate) {
this.eventDate = eventDate;
}
}