2009-02-24 65 views
6

我有一個Java類,我必須運行,我當前的Web主機(共享)將不允許Java。我需要在另一臺服務器上託管它。有人告訴我,我不能在單獨的服務器上從ColdFusion調用Java,但是如果我在第二臺服務器上調用CF函數,然後讓該函數調用Java類,將數據返回給CF,然後該函數返回原始狀態?對不起,如果這聽起來很爛,但我想不出任何其他解決方案。在另一臺服務器上調用ColdFusion功能?

有人嗎?想法?

回答

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限制,只有您可以連接到服務器,或使用其他適當的方法來保護服務器,這也可能是明智的。

4

我會在第二臺服務器上使用coldfusion設置一個Web服務來調用java類,然後讓Web主機上的站點使用該Web服務。

相關問題