我有一个必须运行的
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限制服务器也是明智的,因此只有您可以连接它,或使用其他适当的方法来保护它.