我有一个必须运行的
Java类,我当前的Web主机(共享)将不允许Java.我需要在另一台服务器上托管它.我被告知我不能在单独的服务器上从ColdFusion调用Java,但是如果我在第二台服务器上调用CF函数然后让该函数调用Java类,将数据返回给CF然后该函数返回到原来的?对不起,如果这听起来很蹩脚,但我想不出任何其他解决方案.
任何人?想法?
解决方法
如果您可以访问可以运行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 – 因为您可能希望保护数据不以纯文本形式通过Internet传播.
IP限制服务器也是明智的,因此只有您可以连接它,或使用其他适当的方法来保护它.