2009-02-24 20 views
6

मेरे पास एक जावा क्लास है जिसे मुझे चलाने के लिए है, मेरा वर्तमान वेब होस्ट (साझा) जावा को अनुमति नहीं देगा। मुझे इसे किसी अन्य सर्वर पर होस्ट करने की आवश्यकता है। मुझे बताया गया कि मैं एक अलग सर्वर पर कोल्डफ्यूजन से जावा को कॉल नहीं कर सकता, लेकिन अगर मैं दूसरे सर्वर पर एक सीएफ फ़ंक्शन कॉल करता हूं तो उस समारोह में जावा क्लास को कॉल करें, डेटा को सीएफ में वापस करें, फिर वह फ़ंक्शन मूल पर वापस जाएं ? क्षमा करें अगर यह kludgy लगता है, लेकिन मैं किसी भी अन्य समाधान के बारे में नहीं सोच सकता।किसी अन्य सर्वर पर कोल्डफ्यूज़न फ़ंक्शन को कॉल करें?

कोई भी? विचार?

उत्तर

12

यदि आपके पास जावा चलाने वाले सर्वर तक पहुंच है, तो क्या आप पूरी चीज को वैसे भी नहीं चला सकते?

अन्यथा, जैसा कि आप समझ गए होंगे, तो आप सिर्फ एक दूरस्थ समारोह के साथ एक घटक बना सकते हैं और है कि काम करने के हो सकता है, की तर्ज पर: अपने दूसरे पर

<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 का उपयोग करता है - क्योंकि आप शायद सादा पाठ में इंटरनेट पर उड़ने से डेटा को सुरक्षित रखना चाहते हैं।

यह भी समझदार के लिए सर्वर आईपी प्रतिबंधित ताकि केवल आप इसे करने के लिए कनेक्ट कर सकते हैं, या अन्य उपयुक्त तरीकों का उपयोग यह सुरक्षित करने के लिए हो सकता है।

4

मैं जावा क्लास को कॉल करने के लिए अपने दूसरे सर्वर पर ठंडे फ़्यूज़न का उपयोग करके एक वेब सेवा सेट अप करूंगा और उसके बाद बस अपने वेब होस्ट पर साइट उस वेब सेवा का उपभोग करेगी।

संबंधित मुद्दे