2

ColdFusion Web サービスを作成しましたが、SOAP ではなく WDDX を返します。WDDX ではなく SOAP を返すようにするにはどうすればよいですか?

4

4 に答える 4

1

複雑なオブジェクトの場合、CFC を正しく設定する必要があります。読む: ColdFusion コンポーネントを使用して Web サービスのデータ型を定義する

update:または、 を使用してオブジェクトの XML 表現を自分で作成し、inを使用し<cfxml>て XML オブジェクトを返すこともできます。returnType="xml"cffunction

組み込みの CF 複合型を XML に変換するためのコード サンプルとして、 coldbox のXMLConverterプラグインを確認できます。

于 2011-11-07T17:32:49.867 に答える
1

<cffunction>XML オブジェクトを返して、「returnformat」パラメータを「plain」に設定します。

<cffunction name="GetData" returntype="xml" returnformat="plain">
于 2011-11-07T17:33:36.627 に答える
1

access=remote を指定した CFC メソッドは、WDDX ではなく SOAP を返す必要があります。私はこの機能を何年も使用してきたと確信しています。私が疑っているのは、コンテンツタイプがクライアントのリクエストに基づいているということです。Soap-UIをダウンロードし、 http://your.server/yourCFC.cfc?wsdlをテストして、SOAP-UI が WDDX をスローするかどうかを確認します。もしそうなら、私は少し途方に暮れていますが、とにかくここに報告してください. Soap-UI が適切な応答を確認した場合は、送信しているヘッダーを調べて、作成している要求と比較します (おそらくブラウザー経由でしょうか?)。

また、 Fiddlerを使用して soap-ui トラフィックを記録し、それを他のリクエスト ソースと比較することもできます。

上記の http リクエストは完全にオフになっている可能性がありますが、比較的簡単に確認でき、ベルが鳴っていると思います。

作成している関数の戻り値の型を確認することもできます。CF が適切な WSDL を生成するには、返される CFC からメタデータを抽出できる必要があります。

于 2011-11-07T22:06:53.153 に答える