0

フロントエンドにphp、バックエンドにJavaを備えたアプリケーションがあります。私はphpのHessianを使用して、Javaからphpにデータを返すJavaメソッドを呼び出していました。そして今、私はヘシアンに問題があり、いくつかの例外が発生しています。以前に投稿した質問を見ることができます。 https://stackoverflow.com/questions/11121340/hessianserviceexporter-only-supports-post-requests

hessianのように、phpコードからjava関数を呼び出す他の方法はありますか?

もしそうなら、誰かが私に知っていると言うことができますか?

4

1 に答える 1

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!"; }
}

CXFのサーブレットのbeans.xmlの内容は次のようになります。

<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"/>
于 2012-06-21T12:12:09.023 に答える