我继承了一些由 ColdFusion 9 生成的 WSDL 的 Web 服务。CF9 默认是 RPC 编码的,所以它们就是这样。但是,最近我注意到较新版本的 .NET 框架(或者可能是较新版本的 Visual Studio)不喜欢 RPC 编码的 WSDL。在测试中(在 C# 中),我验证了 VS 2013 仅在文档文字样式中正确使用该服务。
我当然愿意更改样式以使其更普遍可用,但是此 Web 服务已经存在了一段时间(并且被很多人使用,我敢肯定),所以我想要以确保我能掌握可能产生的影响。我还想知道是否有可能让 ColdFusion 生成两个不同的 WSDL(或者允许即时设置编码?)。基本上,我将不胜感激任何关于使它兼容的最佳方法的建议(同时保持向后兼容性)。谢谢。
最佳答案
如果您可以为文档文字样式的 Web 服务使用第二个 URL,则可以扩展现有的 CFC。您的新 CFC 将具有与主 Web 服务相同的所有功能和逻辑。它还可以防止没有额外的代码需要维护。我唯一不知道的是这是否会产生任何显着的额外开销。
<cfcomponent extends="yourExistingCFC" style="document" output="false"></cfcomponent>
我曾尝试在我的一项测试 Web 服务上将文档类型设置为文档文字。 SoapUI 无法在更改后解析文档文字 WSDL,但 Visual Studio 可以。由此,我会犹豫是否更改现有 CFC 的文档样式,因为您无法判断所有客户端环境将如何处理更改。
关于c# - 将 ColdFusion 生成的 WSDL Web 服务从 RPC 编码更改为文档文字会产生什么影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23138787/