2012-07-12 4 views
0

브라우저에서 아래의 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

이것은 응용 프로그램을 배포하는 위치에 따라 다릅니다. 또한, 단지 추측,'allFeeds.xml /'대신'allFeeds.xml'을 시도하십시오 – agibalov

+0

web.xml은 어떻게 구성되어 있습니까? –

답변

0

나에게 문제가 있었다 :

@RequestMapping 어노테이션 값 "MYSERVICE"가 정확하지

했어야 "MyWebService를"

0

웹 서비스 리턴 XML과 같은 경우를 원래 SOAP 웹 서비스입니다. 이 경우 @RequestMapping을 사용하여 웹 서비스를 빌드 할 수 없습니다. @RequestMapping은 REST 웹 서비스를 만들 때 사용됩니다.

이 경우 Spring WS를 사용해야합니다. 웹 서비스 끝점을 만들려면 클래스에 @Endpoint를 주석으로 추가해야합니다. 이 엔드 포인트에서 @Payloadroot로 요청 맵핑을 작성합니다. 참조하십시오 this