2009-02-24 21 views
6

Tengo una clase de Java que tengo que ejecutar, mi servidor web actual (compartido) no permitirá Java. Necesito alojarlo en otro servidor. Me dijeron que no puedo llamar a Java desde ColdFusion en un servidor separado, pero ¿qué ocurre si llamo a una función CF en el segundo servidor y luego hago que esa función llame a la clase Java, devuelva los datos a CF y luego esa función vuelva al original ? Lo siento si eso suena pesado, pero no puedo pensar en ninguna otra solución.¿Llamar a una función ColdFusion en otro servidor?

¿Alguien? Ideas?

Respuesta

12

Si tiene acceso a un servidor que puede ejecutar Java, ¿no puede ejecutarlo todo de todos modos?

lo contrario, como que haya descubierto, sólo puede crear un componente con una función remota y tienen que hacer el trabajo, a lo largo de las líneas de:

<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> 


A continuación, en la otra servidor, tendría algo así como ...

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

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


Tenga en cuenta que este ejemplo usa https, ya que presumiblemente quiere proteger los datos de volar por Internet en texto sin formato.

También puede ser conveniente restringir el servidor IP para que solo pueda conectarse a él, o utilizar otros métodos apropiados para protegerlo.

4

Configuraría un servicio web usando coldfusion en su segundo servidor para llamar a la clase java y luego simplemente hacer que el sitio en su host web consuma ese servicio web.

Cuestiones relacionadas