我是Spring和Hessian的新手,从未使用过它们。
我想写一个小型的Hello World程序,它清楚地显示了这项服务的工作原理。
我正在使用Maven列出项目详细信息和依赖项。
在线提供的粗麻布资源并非完整的分步指南。
如果我从一位编写过粗体服务的人那里得到帮助,我将不胜感激答案 0 :(得分:7)
实现Hessian可调用服务的步骤如下:
我们来看一个例子。创建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>
<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名称必须与servlet名称匹配。
<bean
name="/EchoService"
class="org.springframework.remoting.caucho.HessianServiceExporter">
<property name="service" ref="echoService"/>
<property name="serviceInterface" value="com.example.echo.EchoService"/>
</bean>
答案 1 :(得分: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");