2009-02-24 2 views
6

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

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

ответ

12

Если у вас есть доступ к серверу, на котором можно запускать 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) /> 


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

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

4

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

 Смежные вопросы

  • Нет связанных вопросов^_^