1
8
合同优先是公认的“最佳实践”。 它使您对服务的生产者和消费者都非常清楚,究竟需要什么以及期望什么。当您开始尝试转换Java类型-gt;xml类型时,这一点就变得尤为重要。您还可以跨不同的Web服务重用模式。 |
2
6
两种方法我都用过。我的建议是使用 合同第一 模式,但 代码优先 WSDL。 编写WSDL文件有很多奇怪的细微差别,比如绑定、端口等等。我宁愿用工具而不是手工来完成。有一些工具可以帮助实现这一点,但它们中没有一个比 @WebService public ... 至少您可以验证您的部署。 对于这个模式,我建议 合同第一 因为XML模式语言比Java中描述的语言要丰富得多。我通常给出的一个例子是,XML模式可以限制字符串的大小并应用正则表达式模式。在Java和注释中这样做看起来有点麻烦。 首先将模式作为契约执行的另一个好处是,存在将模式文件转换为HTML文档的工具。 XJC工具可以生成必要的类文件。不过,我只建议在开始时这样做。 最后,您应该获取生成的WSDL文件,并改为使用该文件。这样,您就可以使用wsimport并验证从WSDL到模式的整个过程是否有效。 通过在@webservice实现中使用wsdllocation属性,可以使用WSDL文件进行部署,当用户从服务器请求WSDL时,应用程序服务器将为您修复绑定数据,但您仍然保留注释。否则,您的注释将不会出现在请求的WSDL文件上。 |
3
0
我怀疑答案是肯定的“视情况而定”。 问题是如果你建立 出版 你的合同,你受它约束。这使得改变更加困难。不可能,但更难。 另一方面,如果您对Schemata等感到满意,那么处理契约比处理代码更快,这样您可以对契约进行一些增量更改。 是否也有工具可以从WSDL生成代码框架?我几乎肯定有。如果是这样的话,那么您最好将模式设置为“代码”项,并从中生成代码。 |