<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=Hessian</id>
	<title>Hessian - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=Hessian"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=Hessian&amp;action=history"/>
	<updated>2026-05-14T14:50:47Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=Hessian&amp;diff=32150&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:23, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=Hessian&amp;diff=32150&amp;oldid=prev"/>
		<updated>2021-02-07T05:23:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;http://caucho.com/hessian/&lt;br /&gt;
&lt;br /&gt;
Resin 을 이용하는 경우라면 Hessian 이용해서 간단하게 RPC 를 구현할 수 있다.&lt;br /&gt;
&lt;br /&gt;
hessian simple tutorial (홈페이지의 Servlet 예제) - 이는 Resin Servlet Container 가 동작해야 함.&lt;br /&gt;
=== interface 의 정의 ===&lt;br /&gt;
RPC 를 위해서는 서버-클라이언트의 대화를 위한 interface 의 정의가 필요하다. 간단하게 정의해본다.&lt;br /&gt;
&lt;br /&gt;
Basic.java&lt;br /&gt;
 public interface Basic {&lt;br /&gt;
     public String hello();&lt;br /&gt;
     public int returnInt();&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== RPC Service 구현 ===&lt;br /&gt;
그리고 RPC Test 를 구현해보자. (여기선 Hessian Servlet 을 이용)&lt;br /&gt;
이를 컴파일 하기 위해서는 hessian-2.1.3.jar 화일과 jsdk23.jar, resin.jar 화일이 classpath 에 맞춰줘야 한다. (이는 resin 의 lib 폴더에 있다. hessian jar 화일은 [http://caucho.com/hessian/download/hessian-2.1.3.jar hessian] 를 다운받는다)&lt;br /&gt;
 import com.caucho.hessian.server.HessianServlet;&lt;br /&gt;
 &lt;br /&gt;
 public class RpcTest extends HessianServlet implements Basic {&lt;br /&gt;
     public String hello () {&lt;br /&gt;
         return &amp;quot;Hello, World&amp;quot;;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
     public int returnInt() {&lt;br /&gt;
         return 10;&lt;br /&gt;
     }&lt;br /&gt;
그리고 class 화일을 Servlet 이 돌아가는 디렉토리에 복사한다. 이로서 RPC Publish 기본준비는 ok.&lt;br /&gt;
&lt;br /&gt;
=== RPC Client 구현 ===&lt;br /&gt;
Java 와 Python 둘 다 구현이 가능하다. 여기서는 간단하게 Python Interpreter 를 이용해보자.&lt;br /&gt;
Python 모듈은 http://caucho.com/hessian/download/hessianlib.py 를 다운받는다.&lt;br /&gt;
 &amp;amp;gt;&amp;amp;gt;&amp;amp;gt; import hessianlib&lt;br /&gt;
 &amp;amp;gt;&amp;amp;gt;&amp;amp;gt; proxy = hessianlib.Hessian(&amp;quot;http://localhost:8080/servlet/RpcTest&amp;quot;)&lt;br /&gt;
 &amp;amp;gt;&amp;amp;gt;&amp;amp;gt; proxy.hello()&lt;br /&gt;
 &amp;#039;Hello, World&amp;#039;&lt;br /&gt;
 &amp;amp;gt;&amp;amp;gt;&amp;amp;gt; proxy.returnInt()&lt;br /&gt;
 10&lt;br /&gt;
 &amp;amp;gt;&amp;amp;gt;&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
Java 의 경우는 다음과 같다. 위에서 정의한 interface 인 Basic 이 있어야 한다.&lt;br /&gt;
 import com.caucho.hessian.client.HessianProxyFactory;&lt;br /&gt;
 &lt;br /&gt;
 import java.net.MalformedURLException;&lt;br /&gt;
 &lt;br /&gt;
 public class RpcClient {&lt;br /&gt;
     public static void main(String[] args) throws MalformedURLException {&lt;br /&gt;
         String url = &amp;quot;http://localhost:8080/servlet/RpcTest&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
         HessianProxyFactory factory = new HessianProxyFactory();&lt;br /&gt;
         Basic basic = (Basic)factory.create(Basic.class, url);&lt;br /&gt;
 &lt;br /&gt;
         System.out.println(&amp;quot;Hello ():&amp;quot; + basic.hello());&lt;br /&gt;
         System.out.println(&amp;quot;returnInt : &amp;quot; + basic.returnInt());&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Hessian/Counter]]&lt;br /&gt;
&lt;br /&gt;
See Also PythonXmlRpc&lt;br /&gt;
----&lt;br /&gt;
[[Java]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>