wsdl2在ColdFusion 10中不显示扩展函数

时间:2012-05-22 09:22:02

标签: soap coldfusion wsdl axis2 coldfusion-10

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

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”?

2 个答案:

答案 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的错误版本或其他东西?对不起,我不能提供更多帮助 - 但我很难找到一种方法来复制你的问题。