我正在开发一个与第 3 方集成的 SOAP 应用程序。我觉得这个第三方的 WSDL 很奇怪。我对 SOAP 很陌生,所以如果它没有损坏,我不想去要求他们修复它。以下是我注意到的一些我认为错误的事情,尽管我确信它在技术上是一个有效的文档(因此我在标题中写了“最佳实践”)。另外,我使用 gSOAP 作为我的 SOAP 库,这可能就是为什么我认为其中一些东西很奇怪(我对 gSOAP 的了解甚至比对 SOAP 的了解还要新)。
http://tempuri.org
.那不应该是这样的,对吧? 当然,我不希望这家第 3 方公司仅仅因为我要求他们就改变他们的 WSDL。至少我会学到一些东西……据我所知,这些都不是错误的,甚至没有问题。谢谢你的帮助。
最佳答案
我想对创建 WSDL 的最佳实践稍微概括一点:
1. 合约优先开发
与 James 相比,我会强烈强调 Contract-First 方法的使用,因为它使开发人员能够使用 XML 的全部功能(限制、模式等),并且从那里生成代码相当容易任何编程语言。另一个原因是
2.文档/文字风格
验证 RPC 编码的 SOAP 可能很棘手,XPATH 查询和 XSLT 转换也是不可能的,而且这种风格无论如何都被弃用了。RPC/literal 也会导致验证 XML 的问题(考虑到某些命名约定)。一些 SOAP 引擎放弃了模式定义的命名空间,因此验证变得不可能。使用 Document/literal 样式,SOAP 主体完全作为 XML 文档处理,可以以标准方式验证、转换和查询。
3. 关注点分离
使用
关于soap - WSDL 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/282448/