我有一个简单的测试设置:
component displayname="test1" extends="test2"
{
remote Any function ping1() {}
}
component displayname="test2"
{
remote Any function ping2() {}
}
当我使用test1.cfc?wsdl
来调用cfc时会发生奇怪的事情。
当我告诉我的应用程序使用this.wssettings.version
使用WSDL版本1时,一切看起来都很好,与CF9几乎相同。但是,当我告诉它使用版本2时,函数“ping2”不会出现在我的定义xml中。
为什么当我调用test1.cfc?wsdl
时,WSDL 2不显示扩展函数“test2”?
答案 0 :(得分:3)
我在ColdFusion 10上尝试过这个,WSDL和WSDL2都没有显示继承的方法。我只看到test1.cfc的ping1()函数,我没有看到ping2()继承自test2.cfc。如果将ColdFusion Administrator中的“选择Web服务版本”值从2(默认值)更改为1,则ColdFusion 10将像ColdFusion 9一样执行并显示这两种方法。
在ColdFusion 9上,WSDL显示了两种方法。
在我看来,这是ColdFusion 10中的一个错误,您应该使用Adobe(https://bugbase.adobe.com/)进行登录,并在此处发布错误编号,以便其他人可以投票。如果人们升级而不更改默认Web服务版本,则可能会破坏现有功能。
答案 1 :(得分:0)
我在CF 9.01上尝试了这个确切的代码并没有得到相同的结果。我的WSDL显示了这两种方法。你的CF安装有什么独特之处 - 也许是Axis的错误版本或其他东西?对不起,我不能提供更多帮助 - 但我很难找到一种方法来复制你的问题。