我试图调用一个Spring Web服务,在浏览器中使用下面的url服务" myservice"应该返回XML,即基于@RequestMapping注释,下面的URL是否正确?
> http://localhost:8080/mywebapp/myservice/feeds/allFeeds.xml/
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("myservice")
public class TheController {
private TheService TheServiceWS;
public TheController(TheService TheServiceWS) {
this.TheServiceWS = TheServiceWS;
}
@RequestMapping(value = "feeds/allFeeds.xml", produces = MediaType.APPLICATION_XML_VALUE)
@ResponseBody
public String getValues() {
return TheServiceWS.getAllFeeds();
}
}
答案 0 :(得分:0)
对我来说问题是:
@RequestMapping注释值“myservice”不正确
应该是“mywebservice”
答案 1 :(得分:0)
如果Web服务以XML格式返回,则它是SOAP Web服务的原始服务。在这种情况下,您无法使用@RequestMapping构建Web服务。当您要构建REST Web服务时,将使用@RequestMapping。
在这种情况下,您应该使用Spring WS。您必须使用@Endpoint注释该类以创建Web服务端点。在此端点中,使用@Payloadroot创建请求映射。请参阅this