Java Restful web服务不返回XML
我一直在尝试让一个简单的REstful web服务工作,最终让它通过另一个Java类与数据库通信 我从简单开始,看看是否可以传递一些数据并得到响应 web服务的代码为:Java Restful web服务不返回XML,java,xml,rest,Java,Xml,Rest,我一直在尝试让一个简单的REstful web服务工作,最终让它通过另一个Java类与数据库通信 我从简单开始,看看是否可以传递一些数据并得到响应 web服务的代码为: package com.mystuff.wstest; import javax.ws.rs.core.Context; import javax.ws.rs.core.UriInfo; import javax.ws.rs.Consumes; import javax.ws.rs.PUT; import javax.ws.r
package com.mystuff.wstest;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.UriInfo;
import javax.ws.rs.Consumes;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
@Path("/generic")
public class GenericResource
{
@Context
private UriInfo context;
public GenericResource()
{
}
@GET
@Path("/data")
@Produces("application/xml")
public String getXml(@QueryParam("ctype") String cType, @QueryParam("cdata") String cData)
{
return ( "<ret><One>" + cType + "</One><Two>" + cData + "</Two></ret>" );
}
但是浏览器中返回的响应并没有显示为XML,而只是一个ab-即,它将XML解释为HTML标记
使用wget进行的测试表明:
$ wget -S -q -O - http://localhost:8080/WebSvc1/webresources/generic/data?ctype=a\&cdata=b
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: application/xml
Transfer-Encoding: chunked
Date: Sun, 10 Aug 2014 12:05:37 GMT
<ret><One>a</One><Two>b</Two></ret>
我遗漏了什么?我想说您的web服务工作正常,浏览器错误地将XML解释为XHTML并试图呈现它。你在用哪个浏览器?我在Chrome和FF上也有相同的浏览器。然而,根据你的帖子,我尝试了IE,它就像XML一样对待它。谢谢更新-实际上Chrome现在也可以了。奇怪。它在IE6.0中运行良好,在Firefox31.0中也可以运行Chrome36.0。它应该对你有用。
$ wget -S -q -O - http://localhost:8080/WebSvc1/webresources/generic/data?ctype=a\&cdata=b
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: application/xml
Transfer-Encoding: chunked
Date: Sun, 10 Aug 2014 12:05:37 GMT
<ret><One>a</One><Two>b</Two></ret>