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