2009-02-24 14 views
6

Mam klasę Java, którą muszę uruchomić, mój obecny host sieciowy (udostępniony) nie pozwoli Java. Muszę go hostować na innym serwerze. Powiedziano mi, że nie mogę wywoływać Java z ColdFusion na oddzielnym serwerze, ale co jeśli zadzwonię do funkcji CF na drugim serwerze, wtedy ta funkcja wywoła klasę Java, zwróci dane do CF, wtedy funkcja wróci do oryginału ? Przepraszam, jeśli to brzmi kludgy, ale nie mogę wymyślić żadnych innych rozwiązań.Wywołanie funkcji ColdFusion na innym serwerze?

Ktoś? Pomysły?

Odpowiedz

12

Jeśli masz dostęp do serwera, na którym można uruchomić Javę, to czy nie możesz uruchomić go w ogóle?

W przeciwnym razie, jak już zorientowali, można po prostu utworzyć komponent ze zdalnym funkcji i mają to zrobić pracę, wzdłuż linii:

<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> 


Następnie na innych serwer, trzeba coś takiego ...

<cfset MyWebService = createObject('webservice','https://myotherserver/mycomponent.cfc?wsdl')/> 

<cfset MyString = MyWebService.runMyJava(MyString) /> 


Należy zauważyć, że w tym przykładzie użyto https - ponieważ prawdopodobnie chcieliby Państwo zabezpieczyć dane przed przelotem za pośrednictwem Internetu w postaci zwykłego tekstu.

Może być również sensowne, aby ograniczyć IP serwer, tak abyś mógł się z nim połączyć lub użyć innych odpowiednich metod, aby go zabezpieczyć.

4

Chciałbym skonfigurować usługę internetową za pomocą coldfusion na drugim serwerze, aby zadzwonić do klasy java, a następnie po prostu mieć na stronie internetowej hosting zużywają tę usługę internetową.

Powiązane problemy