4

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

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 在我调用时不显示我的扩展函数“test2” test1.cfc?wsdl

4

2 回答 2

3

我在 ColdFusion 10 上试过这个,WSDL 和 WSDL2 都没有显示继承的方法。我只看到 test1.cfc 的 ping1() 函数,我没有看到从 test2.cfc 继承的 ping2()。如果您将 ColdFusion Administrator 中的“选择 Web 服务版本”值从 2(默认值)更改为 1,则 ColdFusion 10 会像 ColdFusion 9 一样执行并显示这两种方法。

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

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

于 2012-05-24T21:02:11.607 回答
0

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

于 2012-05-23T13:58:54.567 回答