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に表示されません。

呼び出したときにWSDL2に拡張関数「test2」が表示されないのはなぜtest1.cfc?wsdlですか?

4

2 に答える 2

3

これをColdFusion10で試しましたが、WSDLとWSDL2の両方に継承されたメソッドが表示されません。test1.cfcのping1()関数のみが表示され、test2.cfcから継承されたping2()は表示されません。ColdFusionAdministratorの[Selectwebservice version]の値を2(デフォルト)から1に変更すると、ColdFusion10はColdFusion9と同じように動作し、両方の方法が表示されます。

ColdFusion 9では、WSDLは両方のメソッドを表示します。

私の意見では、これはColdFusion 10のバグであり、Adobe(https://bugbase.adobe.com/)にログを記録し、他の人が投票できるようにバグ番号をここに投稿する必要があります。これにより、デフォルトのWebサービスのバージョンを変更せずにアップグレードすると、既存の機能が損なわれる可能性があります。

于 2012-05-24T21:02:11.607 に答える
0

CF 9.01 でこの正確なコードを試しましたが、同じ結果が得られませんでした。私の WSDL は両方の方法を示しています。CF のインストールに何か特徴があります - おそらく Axis のバージョンが間違っているのでしょうか? これ以上お役に立てなくて申し訳ありませんが、あなたの問題を再現する方法を見つけるのに苦労しています.

于 2012-05-23T13:58:54.567 に答える