gwt 2.5 と Jersey 1.17 および RestyGWT 1.3
私が電話するとき
次のエラーが表示されます。
応答を解析できませんでした: org.fusesource.restygwt.client.ResponseFormatException: 応答は有効な JSON ドキュメントではありませんでした
私のリソースクラス:
@Path("/person")
public class PersonResource {
private static int counter = 1;
@GET
@Produces(MediaType.TEXT_PLAIN)
@Path("/hello")
public String sayHello(){
return "Hallo, Seryoga";
}
@GET
@Produces(MediaType.APPLICATION_JSON)
public Person getPersons() {
List<Person> persons = new ArrayList<Person>();
for (int i = 0; i < 5; i++) {
persons.add(new Person(counter, "name-" + counter, new Date()));
counter++;
}
return persons.get(0);
}
}
クライアント インターフェイス
public interface PersonResourceAsync extends RestService {
@GET
void getPersons(MethodCallback<Person> callback);
/**
* Utility class to get the instance of the Rest Service
*/
public static final class Util {
private static PersonResourceAsync instance;
public static final PersonResourceAsync get() {
if (instance == null) {
instance = GWT.create(PersonResourceAsync.class);
((RestServiceProxy) instance).setResource(new Resource(
GWT.getHostPageBaseURL()+"rest/person"));
}
return instance;
}
private Util() {
}
}
}
personクラスにはID名などのゲッター/セッターがあり、シリアライズ可能で@XmlRootElement
私のweb.xmlには以下が含まれています:
<servlet>
<servlet-name>RestServlet</servlet-name>
<display-name>Rest Servlet</display-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>digitronic.ems.server.filebrowser</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
そしてprojekt.gwt.xmlで:
<!-- RestyGWT -->
<inherits name='org.fusesource.restygwt.RestyGWT' />
http:/localhost:8080/Projekt/rest/person 経由で呼び出すと、json 構文で値が取得されますが、restygwt 経由で onError が呼び出され、理由がわかりません。
誰かが私を助けることができますか?