Как создать объект Java в CFSCRIPT? - PullRequest
2 голосов
/ 18 января 2012

Я использую ColdFusion 9.1.0

Я пытаюсь создать объект 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.Я не вижу, в чем проблема.Вы?

Ответы [ 2 ]

7 голосов
/ 18 января 2012

Имя класса - CyberSource, а переменная, которой вы пытаетесь назначить экземпляр, - "auth" в вашем подходе на основе тегов. Вы перепутали это с «MyObject».

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

Это должно работать.

2 голосов
/ 18 января 2012

Следует помнить одну вещь.

Имена классов 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' );
...