在另一台服务器上调用ColdFusion函数?

时间:2009-02-24 22:03:13

标签: java coldfusion

我有一个必须运行的Java类,我当前的Web主机(共享)不允许使用Java。我需要在另一台服务器上托管它。我被告知我不能在单独的服务器上从ColdFusion调用Java,但是如果我在第二台服务器上调用CF函数然后让该函数调用Java类,将数据返回给CF然后该函数返回到原来的?很抱歉,如果这听起来很糟糕,但我想不出任何其他解决方案。

任何?想法?

2 个答案:

答案 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服务。