gpt4 book ai didi

web-services - 为什么在契约优先 SOAP 服务中从 XSD(而不是 WSDL)开始?

转载 作者:行者123 更新时间:2023-12-02 01:34:28 25 4
gpt4 key购买 nike

在这个 Spring 引用中(第 3 章。编写契约优先 Web 服务)

http://docs.spring.io/spring-ws/site/reference/html/tutorial.html

它说“服务契约(Contract)通常表示为 WSDL 文件。请注意,在 Spring-WS 中,不需要手动编写 WSDL。基于 XSD 和一些约定,Spring-WS 可以为您创建 WSDL。. ”

这也是示例应用中实现的方法:

https://github.com/spring-guides/gs-soap-service.git

只是想知道...如果您执行“契约(Contract)优先”,为什么要从 XSD 开始,让框架生成 WSDL?我认为“契约(Contract)优先”作为最佳实践背后的想法是让您最大限度地控制界面,确保不同 SOAP 服务框架、工具、语言等之间的最大兼容性。

虽然 XSD 包含数据类型和请求/响应对象类型,但它没有定义实际的服务操作(也许还有其他一些东西?)...

在 XSD 中未定义的内容中,您会遇到不同工具之间不兼容的风险吗?

希望对此做出一些澄清...

最佳答案

请看这个比较: https://dzone.com/articles/apache-cxf-vs-apache-axis-vs

“在 XSD 中未定义的内容中,您是否会遇到不同工具之间不兼容的风险?”

基本上,Spring 所做的是让您通过代码定义服务,并使用从 XSD 生成的域对象。我猜你在这方面不会有问题。

但是,根据我目前的经验,由于 Spring 不完全兼容 JAX-WS,您可能会遇到一些实现问题,尤其是当您与第 3 方团队合作时。例如,spring-ws 不支持相同命名的方法和属性对象。

除此之外,它的设置和使用都非常容易

关于web-services - 为什么在契约优先 SOAP 服务中从 XSD(而不是 WSDL)开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32035716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com