2010-06-05 88 views

回答

3

不是。如果可以進行CORBA調用,大多數容器都支持CORBA作爲與遠程EJB交談的協議,但我不會推薦它。

將EJB Session Bean調用暴露爲SOAP Web服務,或者簡單地將它與Servlet對應並將其作爲臨時Web服務調用即可。

現在,如果您在Java EE服務器(Resin,我相信可以運行PHP)內運行PHP,那麼您可能會調用可調用EJB方法的Java調用。

但坦率地說,假設你可以寫它們,web服務或ad hoc網站門面可能是你最好的,最快捷的成功之路。

+0

這是Caucho的栓皮櫟,將運行PHP。它不必在Resin中託管。 http://quercus.caucho.com/ – 2010-06-06 00:28:58

1

有一些庫可以執行Java/Php橋接,比如PHP/Java Bridge

所以,如果你正在使用IBM WebSphere(source):

<?php 
    // Get the provider URL and Initial naming factory 
    // These properties were set in the script that started the Java Bridge 
    $system = new Java("java.lang.System"); 
    $providerUrl = $system->getProperty("java.naming.provider.url"); 
    $namingFactory = $system->getProperty("java.naming.factory.initial"); 
    $envt = array(
    "javax.naming.Context.PROVIDER_URL" => $providerUrl, 
    "javax.naming.Context.INITIAL_CONTEXT_FACTORY" => $namingFactory,); 
    // Get the Initial Context 
    $ctx = new Java("javax.naming.InitialContext", $envt); 
    // Find the EJB 
    $obj = $ctx->lookup("WSsamples/BasicCalculator"); 
    // Get the Home for the EJB 
    $rmi = new Java("javax.rmi.PortableRemoteObject"); 
    $home = $rmi->narrow($obj, new Java("com.ibm.websphere.samples.technologysamples.ejb.stateless.basiccalculatorejb.BasicCalculatorHome")); 
    // Create the Object 
    $calc = $home->create(); 
    // Call the EJB 
    $num = $calc->makeSum(1,3); 
    print ("<p> 1 + 3 = $num </p>"); 
?> 
+0

這會用比簡單的「num」更復雜的結構工作嗎? – 2010-06-05 23:55:17

相關問題