2011-07-22 7 views
1

JavaLoaderを使用して作成しているユーザー定義のJavaオブジェクトがあります。createObject()を使用して元のオブジェクトをラップするオブジェクトを作成していますColdFusion Javaプロキシオブジェクト内のJavaオブジェクト。このオブジェクトを引数として別のクラスに渡そうとしていますが、プロキシでラップされているので型の不一致エラーが発生します。このオブジェクトをColdFusion Javaプロキシからアンラップするにはどうすればよいですか?createObject()で作成された元のJavaオブジェクトをアンラップするには

私がやろうとしているが、このようなsoemthingです:

javaNote = instance.javaObject.createNote(anotherJavaObjectWrappedInJavaProxy); 

私が持っているものにCreateObjectを使用して作成された2つのJavaオブジェクトであると私は別の関数javaObjectの引数として、それらのオブジェクトの1つを渡したいと思います。

私は両方のJavaファイルのソースも持っていますので、Javaクラスでそのファイルをアンラップすることもできます。

+1

を使用してみてください? – Leigh

+0

このオブジェクトを別のJavaオブジェクトに戻す必要があります。 – bittersweetryan

+0

「アンラッピング」のような特別な操作は必要ありません。オブジェクトを「そのまま」渡すと、正常に動作するはずです。両方のオブジェクトの作成に使用されたエラーメッセージとコードを投稿できますか? – Leigh

答えて

0

私にとってはうまくいくようです。私はちょうどコードの下で試しました

<cfset obj = createObject("java","ResizeImage")> 
<cfdump var="#obj#"> 

それはJavaオブジェクトを作成します。下のスクリーンショットを参照してください。

Output

+1

Re:* Javaオブジェクトのみを作成する* cfdumpのフォーマット/表示方法をあまり信用しないでください。ダンプの内容にかかわらず、JavaProxyは引き続き使用されます。 – Leigh

0

どのような目的、デバッグや何か他のものについてはgetClass()

<cfset obj = createObject("java","java.lang.StringBuilder") /> 
<cfdump var="#obj.getClass()#">` 
+0

それは私にクラス定義を取得しますか?実際のインスタンス化されたオブジェクト(およびその重要なデータであるデータ) – bittersweetryan

関連する問題