4

私はSpringとHessianを初めて使用し、以前は使用したことがありません。

このサービスがどのように機能するかを明確に示す小さな Hello World プログラムを書きたいと思います。

リストプロジェクトの詳細と依存関係に Maven を使用しています。

オンラインで入手できる hessian のリソースは、完全なステップバイステップ ガイドではありません。

ヘッセ行列サービスの作成に取り組んでいる人から助けが得られれば幸いです

4

2 に答える 2

7

ヘッセ行列呼び出し可能サービスを実装する手順は次のとおりです。

  • クライアントによって呼び出されるメソッドを定義する Java インターフェースを作成します。
  • このインターフェースを実装する Java クラスを作成します。
  • HTTP Hessian サービス要求を処理するようにサーブレットを構成します。
  • このインターフェースを実装する Java クラスにサービス呼び出しを委譲することにより、サーブレットからの Hessian サービス要求を処理するようにHessianServiceExporterを構成します。

例を見てみましょう。Java インターフェイスを作成します。

public interface EchoService {
    String echoString(String value);
}

このインターフェースを実装する Java クラスを作成します。

public class EchoServiceImpl implements EchoService {
    public String echoString(String value) {
        return value;
    }
}

ファイルで、web.xmlサーブレットを構成します。

<servlet>
  <servlet-name>/EchoService</servlet-name>
  <servlet-class>org.springframework.web.context.support.HttpRequestHandlerServlet</servlet-class>  
</servlet>

<servlet-mapping>
  <servlet-name>/EchoService</servlet-name>
  <url-pattern>/remoting/EchoService</url-pattern>
</servlet-mapping>

Spring アプリケーション コンテキストでサービス クラスのインスタンスを構成します。

<bean id="echoService" class="com.example.echo.EchoServiceImpl"/>

Spring アプリケーション コンテキストでエクスポーターを構成します。Bean 名はサーブレット名と一致する必要があります。

<bean
    name="/EchoService"
    class="org.springframework.remoting.caucho.HessianServiceExporter">
  <property name="service" ref="echoService"/>
  <property name="serviceInterface" value="com.example.echo.EchoService"/>
</bean>
于 2011-01-21T04:40:22.137 に答える
4

クライアントは、リモート インターフェイスのプロキシを作成する必要があります。JUnit-Test を簡単に作成できます。

HessianProxyFactory proxyFactory = new HessianProxyFactory();
        proxyFactory.setHessian2Reply(false);
        proxyFactory.setHessian2Request(false);
        com.example.echo.EchoService service = proxyFactory.create(
                com.example.echo.EchoService, "http://localhost:8080/<optional-context/>remoting/EchoService");

Assert.equals(service.echoString("test"), "test");
于 2011-02-03T09:57:47.230 に答える