我創建了一個Web服務功能:如何創建返回xml以及json的webservice函數?
@GET
@Path("getusers/")
@Produces({"application/xml","application/json"})
public Object getUsers()
{
String distanceQuery="SELECT UGL.user_id,UP.fname,UGL.mlatitude,UGL.mlogitude,UGL.mlogitude from user_gps_location UGL,user_profile UP where UGL.user_id=UP.user_id";
Query queryResult=em.createNativeQuery(distanceQuery);
userList=queryResult.getResultList();
return userList;
}
該函數返回結果的列表: 而我選擇應用程序/ JSON選擇它的工作原理,如果我與我的瀏覽器中測試其罰款:
結果:
[[1,"Ankit",37.334542,-121.890821,-121.890821],
[1,"Ankit",37.337749,-121.886702,-121.886702],
[1,"Ankit",37.336453,-121.884985,-121.884985],
[1,"Ankit",37.336453,-121.884985,-121.884985],
[1,"Ankit",37.336453,-121.884985,-121.884985],
[1,"Ankit",32.727798,-117.15683,-117.15683],
[1,"Ankit",37.334541666666674,-121.89081999999999,-121.89081999999999],
[1,"Ankit",37.33774833333334,-121.88670166666667,-121.88670166666667],
[1,"Ankit",37.33774833333334,-121.88670166666667,-121.88670166666667],
[1,"Ankit",37.334541666666674,-121.89081999999999,-121.89081999999999],
[1,"Ankit",37.334541666666674,-121.89081999999999,-121.89081999999999],
[1,"Ankit",37.33774833333334,-121.88670166666667,-121.88670166666667],
[2,"Niharika",37.334541666666674,-121.88670166666667,-121.88670166666667],
[2,"Niharika",37.334541666666674,-121.88670166666667,-121.88670166666667]]
但是當我選擇 「應用程序/ XML」 它給了我一個錯誤:
javax.ws.rs.WebApplicationException: com.sun.jersey.api.MessageException: A message body writer for Java class java.util.Vector, and Java type class java.util.Vector, and MIME media type application/xml was not found
任何人都可以幫助我,告訴我它有什麼問題嗎?
另外我如何可以返回一個良好的結果如下?
<id>1</id>
<name>Ankit</name>
我知道我需要使用一類,但因爲這是一個本機查詢和我用兩個表,並返回一個結果列表,我不知道該怎麼做。
Ya @XMLRootElement存在於域類中。你可以告訴我公開列表我會在列表中提到哪個類對象,因爲我上面提到我的查詢有兩個表user_gps_location和user_profile我不知道如何映射它們與返回結果。 –
user1522804
2012-08-02 00:30:15
類型爲列表
沒有它的工作後,將其更改爲列表