首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么从契约优先SOAP服务中的XSD (而不是WSDL)开始呢?

为什么从契约优先SOAP服务中的XSD (而不是WSDL)开始呢?
EN

Stack Overflow用户
提问于 2015-08-16 13:42:05
回答 2查看 958关注 0票数 3

在这个Spring参考文献中(第3章.写合同-第一Web服务)

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

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

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

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

只是想知道..。如果您先做“契约优先”,那么为什么要从XSD开始,让框架生成WSDL呢?我认为,作为最佳实践,“契约优先”的理念是让您最大限度地控制接口,确保不同SOAP服务框架、工具、语言等之间的最大兼容性。

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

在没有在XSD中定义的东西中,您是否会遇到不同工具之间的不兼容?

希望对此作出一些澄清..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-05 22:43:03

请参阅此比较:https://dzone.com/articles/apache-cxf-vs-apache-axis-vs

“在没有在XSD中定义的东西中,您不会遇到不同工具之间不兼容的风险吗?”

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

但是,根据我目前的经验,因为Spring不完全兼容JAX,所以您可能会遇到一些实现问题,特别是在第三方团队工作时。例如,spring不支持相同的命名方法&属性对象。

除此之外,它很容易设置和使用

票数 1
EN

Stack Overflow用户

发布于 2015-09-02 20:48:31

在我的经验中,使用spring的主要原因。WSDL可以通过Spring动态生成。这是非常有利的,因为它包含端点(这是不同的景观)。使用基本XSD来定义常用的数据元素是很常见的。此外,在定义XSD之后,可以使用jaxb为源代码生成必要的类文件。

正如您所看到的,通过定义XSD,从而从它们生成类文件。您的代码库正在成为一个合法的web服务。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32035716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档