有沒有辦法從PHP調用EJB會話bean?有沒有特定的功能來做到這一點?如何從PHP調用EJB會話bean?
1
A
回答
3
不是。如果可以進行CORBA調用,大多數容器都支持CORBA作爲與遠程EJB交談的協議,但我不會推薦它。
將EJB Session Bean調用暴露爲SOAP Web服務,或者簡單地將它與Servlet對應並將其作爲臨時Web服務調用即可。
現在,如果您在Java EE服務器(Resin,我相信可以運行PHP)內運行PHP,那麼您可能會調用可調用EJB方法的Java調用。
但坦率地說,假設你可以寫它們,web服務或ad hoc網站門面可能是你最好的,最快捷的成功之路。
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
相關問題
- 1. 如何從jsp調用會話bean
- 2. 從JSF Managed Bean調用@EJB
- 3. EJB無狀態會話bean和有狀態會話bean
- 4. 使用有狀態會話bean(EJB)
- 5. Java EE 6:如何從無狀態會話Bean調用有狀態會話Bean?
- 6. 無狀態會話bean的ejb攔截器,我如何調用有狀態會話bean
- 7. 使用遠程獨立客戶端調用EJB 3.1會話Bean
- 8. EJB 3.1 |通過JNDI調用遠程會話bean時出錯
- 9. 如何使用JPA映射有狀態的ejb 3.1會話bean
- 10. EJB無狀態會話bean爲空
- 11. EJB訪問有狀態會話Bean NameNotFoundException
- 12. EJB會話bean線程安全
- 13. @WebServices as @Stateless會話bean在ejb jar中
- 14. EJB 3.1丟棄有狀態會話bean
- 15. EJB 2.1有狀態會話bean
- 16. 從PHP調用EJB
- 17. 調用EJB3會話bean
- 18. 從託管bean調用EJB時出錯
- 19. EJB會話Bean /客戶端Hibernate會話交互?
- 20. 爲什麼EJB會話bean有「會話」的名字?
- 21. 從EJB無狀態會話bean調用CDI會話作用域生產者方法
- 22. 如何在會話Bean(EJB)中獲取請求參數?
- 23. 如何從Android客戶端調用會話bean中的方法?
- 24. 如何在Servlet中使用EJB 3.1 DI? (無法通過@EJB從Web應用程序注入會話Bean)
- 25. EntityManager注入在EJB 2.1會話bean中爲空EJB3實體Bean
- 26. EJB無狀態會話Bean中的CDI bean生產者
- 27. 如何從另一個EJB調用EJB?
- 28. Eclipse - 如何從與NetBeans相似的現有JPA生成EJB會話bean?
- 29. EJB。當我使用var List調用會話Bean時拋出:this javax.ejb.EJBException:java.rmi.MarshalException
- 30. 我application.I使用EJB 2.1無狀態會話bean在EJB調用在相同或遠端機器不同的會話Bean 2.1
這是Caucho的栓皮櫟,將運行PHP。它不必在Resin中託管。 http://quercus.caucho.com/ – 2010-06-06 00:28:58