调用spring Web服务

时间:2012-07-12 14:48:34

标签: java web-services spring spring-ws

我试图调用一个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();
    }

}

2 个答案:

答案 0 :(得分:0)

对我来说问题是:

@RequestMapping注释值“myservice”不正确

应该是“mywebservice”

答案 1 :(得分:0)

如果Web服务以XML格式返回,则它是SOAP Web服务的原始服务。在这种情况下,您无法使用@RequestMapping构建Web服务。当您要构建REST Web服务时,将使用@RequestMapping。

在这种情况下,您应该使用Spring WS。您必须使用@Endpoint注释该类以创建Web服务端点。在此端点中,使用@Payloadroot创建请求映射。请参阅this