wsdl2 在 ColdFusion 10 中不显示扩展功能



我有一个简单的测试设置:

component displayname="test1" extends="test2"
{
    remote Any function ping1() {}
}
component displayname="test2"
{
    remote Any function ping2() {}
}

当我使用test1.cfc?wsdl计算 cfc 时,发生了一些奇怪的事情。

当我告诉我的应用程序使用 WSDL 版本 1 时this.wssettings.version一切看起来都很好,与 CF9 中几乎相同。但是当我告诉它使用版本 2 时,函数"ping2"不会出现在我的定义 xml 中。

为什么 WSDL 2 在我调用 test1.cfc?wsdl 时不显示我的扩展函数"test2"?

我在ColdFusion 10上尝试过这个,WSDL和WSDL2都没有显示继承的方法。 我只看到test1.cfc的ping1((函数,我没有看到从test2.cfc继承的ping2((。如果将 ColdFusion 管理器中的"选择 Web 服务版本"值从 2(默认值(更改为 1,则 ColdFusion 10 的执行方式与 ColdFusion 9 相同,并显示这两种方法。

在 ColdFusion 9 上,WSDL 显示了这两种方法。

在我看来,这是ColdFusion 10中的一个错误,您应该使用Adobe(https://bugbase.adobe.com/(记录它,并在此处发布错误编号,以便其他人可以投票支持它。 如果用户在不更改默认 Web 服务版本的情况下进行升级,这可能会破坏现有功能。

我在 CF 9.01 上尝试了这个确切的代码,但没有得到相同的结果。我的 WSDL 显示了这两种方法。您的 CF 安装有一些独特之处 - 也许是错误的安讯士版本或其他什么? 很抱歉,我不能提供更多帮助 - 但我正在努力找出一种方法来复制您的问题。

最新更新