2009-02-24 11 views
6

Ho una classe Java che devo eseguire, il mio attuale host web (condiviso) non permetterà Java. Ho bisogno di ospitarlo su un altro server. Mi è stato detto che non posso chiamare Java da ColdFusion su un server separato, ma cosa succede se chiamo una funzione CF sul secondo server, allora ho quella chiamata chiama la classe Java, restituisco i dati a CF, poi quella funzione ritorna all'originale ? Scusa se questo suona kludgy, ma non riesco a pensare ad altre soluzioni.Chiama una funzione ColdFusion su un altro server?

Chiunque? Idee?

risposta

12

Se si ha accesso a un server in grado di eseguire Java, non è possibile eseguire l'intera operazione in ogni caso?

Altrimenti, come hai capito, si può semplicemente creare un componente con una funzione a distanza e hanno che fanno il lavoro, seguendo le linee di:

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


quel momento in poi l'altra server, è avrebbe avuto qualcosa di simile ...

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

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


Si noti che in questo esempio viene utilizzato https, poiché si presume che si desideri proteggere i dati da volando su Internet in testo normale.

Potrebbe anche essere ragionevole limitare il server IP in modo che solo tu possa collegarti ad esso o utilizzare altri metodi appropriati per proteggerlo.

4

Avrei impostato un servizio Web utilizzando coldfusion sul secondo server per chiamare la classe java e quindi avere il sito sul tuo host web che utilizza quel servizio web.

Problemi correlati