Вызывать функцию ColdFusion на другом сервере? - PullRequest
6 голосов
/ 25 февраля 2009

У меня есть класс Java, который я должен запустить, мой текущий веб-хост (общий) не разрешает Java. Мне нужно разместить его на другом сервере. Мне сказали, что я не могу вызвать Java из ColdFusion на отдельном сервере, но что, если я вызову функцию CF на 2-м сервере, тогда эта функция вызовет класс Java, вернет данные в CF и эта функция вернется к исходному ? Извините, если это звучит глупо, но я не могу придумать других решений.

Кто-нибудь? Идеи?

Ответы [ 2 ]

12 голосов
/ 25 февраля 2009

Если у вас есть доступ к серверу, который может запускать Java, разве вы не можете запустить все это там?

В противном случае, как вы уже поняли, вы можете просто создать компонент с удаленной функцией, который будет выполнять эту работу, как:

<cfcomponent output="false">

    <cffunction name="runMyJava" returntype="String" output="false" access="remote">
        <cfargument name="MyArg" type="String" />

        <cfset var MyObj = createObject('java','whatever') />

        <cfreturn MyObj.doJavaMagic( Arguments.MyArg ) />
    </cffunction>

</cfcomponent>


Тогда на другом сервере у вас будет что-то вроде ...

<cfset MyWebService = createObject('webservice','https://myotherserver/mycomponent.cfc?wsdl')/>

<cfset MyString = MyWebService.runMyJava( MyString ) />

1011 *
*

Обратите внимание, что в этом примере используется https - поскольку вы, вероятно, захотите защитить данные от полетов через Интернет в виде простого текста.

Также целесообразно ограничить IP-адрес сервера, поэтому только вы можете подключиться к нему или использовать другие подходящие методы для его защиты.

4 голосов
/ 25 февраля 2009

Я бы настроил веб-сервис с помощью coldfusion на вашем втором сервере для вызова java-класса, а затем просто чтобы сайт на вашем веб-хосте использовал этот веб-сервис.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...