2012-06-21 143 views
0

我有一個應用程序,前端使用php,後端使用Java。我使用PHP中的Hessian來調用Java方法,返回從Java到PHP的數據。現在我得到了一些麻煩的問題,我得到一些例外,你可以看到我之前發佈的問題。 https://stackoverflow.com/questions/11121340/hessianserviceexporter-only-supports-post-requests從Php調用Java方法

是否有任何其他方法從php代碼中調用java函數,就像hessian?

如果有人能告訴我知道嗎?

+0

我們可以添加此beans.xml文件在應用程序中。或者我有一個Servlet處理.xml文件,名爲web.xml 另外我還有一個疑問是..我應該在類DemoService中添加服務作爲服務(「demoService」) – jimmy

回答

2

最簡單的方法是使用JAX-RS實現REST層。 Apache CXF是部署JAX-RS服務的極好的非常簡單的系統。您可以構建出整個服務層,而無需擔心這種Java/PHP交互。

給你的是多麼容易的想法:

import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import javax.ws.rs.QueryParam; 
import javax.ws.rs.core.MediaType; 

public class DemoService { 
    @GET 
    @Path("sayHello") 
    @Produces(MediaType.TEXT_PLAIN) 
    public String sayHello() { return "Hello, world!"; } 
} 

的beans.xml中對CXF的Servlet的內容是這樣的:

<import resource="classpath:META-INF/cxf/cxf.xml"/> 
<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/> 

<jaxrs:server id="demoService" address="/demoService"> 
    <jaxrs:serviceBeans> 
     <ref bean="serviceBean"/> 
    </jaxrs:serviceBeans> 
</jaxrs:server> 

<bean id="serviceBean" class="com.company.DemoService"/> 
+0

我們可以在應用程序中添加此beans.xml上下文。或者我有一個servlet處理.xml文件,名爲web.xml – jimmy

+0

我們可以在Application上下文中添加這個beans.xml。或者我有一個servlet處理.xml文件,名爲web.xml 而且我還有一個疑問是..我應該在類DemoService中添加服務作爲服務(「demoService」) – jimmy