2012-01-18 61 views
2

我正在使用ColdFusion 9.1.0如何在CFSCRIPT中創建Java對象?

我想創建一個java對象使用CFSCRIPT,我只是無法得到正確的組合工作。

這完美的作品:

<cfobject action="create" type="Java" class="CyberSource" name="auth"> 
<cfset VARIABLES.ResponseString = auth.runTransaction(LOCAL.PropsFile,LOCAL.MyXML)> 

當我這樣做,我得到一個錯誤:

LOCAL.MyObject = createObject("java", "CyberSource.auth"); 
LOCAL.ResponseString = auth.runTransaction(LOCAL.PropsFile,LOCAL.MyXML); 

這是錯誤我得到:

Object Instantiation Exception. 
Class not found: CyberSource.auth 

的對象是ColdFusion可用的外部代碼片段。我看不出有什麼問題。你做?

回答

6

classname是Cyber​​Source,您試圖分配實例的變量在基於標記的方法中是「auth」。你將它與「MyObject」混合在一起。

LOCAL.auth = createObject("java", "CyberSource"); 
LOCAL.ResponseString = LOCAL.auth.runTransaction(LOCAL.PropsFile,LOCAL.MyXML); 

這應該有效。

+0

這工作完美無瑕。感謝您的解釋! – 2012-01-18 15:48:05

2

有一點要注意。

java類名稱區分大小寫!

// Fail 
myFile = createObject('java', 'java.io.file'); 

// Win! 
myFile = createObject('java', 'java.io.File'); 

,並呼籲他們的構造,使用.init()如。

myFile = createObject('java', 'java.io.File').init('/Users/Mike/Dev/Test');