将ColdFusion生成的WSDL Web服务从RPC编码更改为document-literal会产生什么影响?

Nic*_* S. 7 c# coldfusion wsdl coldfusion-9 visual-studio-2013

我继承了一些由ColdFusion 9生成的WSDL的Web服务.CF9默认是RPC编码的,所以它们就是这样.但是,最近我注意到.NET框架的新版本(或者可能是Visual Studio的新版本)不喜欢RPC编码的WSDL.在测试中(在C#中),我验证了VS 2013在文档 - 文字样式中仅正确地使用了服务.

我当然愿意改变风格以便更普遍使用,但是这个网络服务已经存在了一段时间(并且被很多人使用,我敢肯定),所以我想确保我掌握可能产生的影响.我也想知道是否有可能让ColdFusion生成两个不同的WSDL(或者允许动态设置编码?).基本上我很欣赏任何有关使其兼容的最佳方法的建议(同时保持向后兼容性).谢谢.

Twi*_*len 0

如果您同意为文档文字样式 Web 服务提供第二个 URL,则可以扩展现有的 CFC。您的新 CFC 将具有与主 Web 服务相同的所有功能和逻辑。它还可以防止没有额外的代码需要维护。对我来说唯一未知的是这是否会产生任何显着的额外开销。

<cfcomponent extends="yourExistingCFC" style="document" output="false"></cfcomponent>
Run Code Online (Sandbox Code Playgroud)

我确实尝试在我的一项测试 Web 服务上将文档类型设置为文档文字。一旦更改,SoapUI 就无法解析文档文字 WSDL,但 Visual Studio 可以。由此看来,我对于更改现有 CFC 的文档样式会犹豫不决,因为您无法判断所有客户端环境将如何处理更改。