在这个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中定义的东西中,您是否会遇到不同工具之间的不兼容?
希望对此作出一些澄清..。
发布于 2015-09-05 14:43:03
请参阅此比较:https://dzone.com/articles/apache-cxf-vs-apache-axis-vs
“在没有在XSD中定义的东西中,您不会遇到不同工具之间不兼容的风险吗?”
基本上,Spring所做的是让您通过代码定义服务,并使用从XSD生成的域对象。我想你在那边不会有问题的。
但是,根据我目前的经验,因为Spring不完全兼容JAX,所以您可能会遇到一些实现问题,特别是在第三方团队工作时。例如,spring不支持相同的命名方法&属性对象。
除此之外,它很容易设置和使用
发布于 2015-09-02 12:48:31
在我的经验中,使用spring的主要原因。WSDL可以通过Spring动态生成。这是非常有利的,因为它包含端点(这是不同的景观)。使用基本XSD来定义常用的数据元素是很常见的。此外,在定义XSD之后,可以使用jaxb为源代码生成必要的类文件。
正如您所看到的,通过定义XSD,从而从它们生成类文件。您的代码库正在成为一个合法的web服务。
https://stackoverflow.com/questions/32035716
复制相似问题