4

我是初学者Spring Webservices。我正在尝试使用spring-ws 2.0. 我已经完成了web.xml(MessageDispatcherServlet)配置、我的合同设计(XSD)、生成的JAXB类和服务实现。我对端点感到困惑。以下哪一项,mvc 休息控制器或端点,在哪种情况下使用是正确的,为什么?提前致谢。

@Endpoint
public class PersonEndpoint {

    @Autowired
    private PersonServiceImpl personService;

    @PayloadRoot(localPart = "PersonRequest", namespace = Constants.PERSON_NAMESPACE)
    public @ResponsePayload
    PersonResponseType personReadMethod(@RequestPayload PersonReadRequestType requestElement) {
        return personService.isBiometricNeeded(requestElement);
    }
}

或者

@Controller
public class PersonController {

    @Autowired
    private PersonServiceImpl personService;

    @RequestMapping(value = "/person", method = RequestMethod.GET)
    public @ResponseBody
    PersonResponseType personReadMethod(@RequestBody PersonReadRequestType requestElement) {
        return personService.isBiometricNeeded(requestElement);
    }
}
4

1 回答 1

3

前者用于肥皂电话,后者用于休息(我假设您还包括杰克逊)

您在前者中所做的是声明一个端点,该端点将在具有适当名称空间和 localPart 的传入soap调用时被调用。在您的情况下,PersonRequest。

我建议看一下参考指南的第 3 章,它解释了一个简单的例子:http ://static.springsource.org/spring-ws/sites/2.0/reference/html/tutorial.html

后者仅用于对 url 的休息调用,并将传入参数转换为 PersonReadRequestType 实例。

于 2013-02-12T17:09:58.367 回答