java hessian 文件_C#使用Hessian調用JAVA的函數 | 學步園

Hessian其實很像web service,只不過它的協議不是SOAP,而是它自己規定的binary協議。Hessian的server端提供一個servlet基類,client端獲得一

個service接口(也就是stub)之後調用上面的方法,stub將方法調用marshal之後通過HTTP傳到server,server藉助reflection調用service方法。

實戰開始,先到www.caucho.com上去下載一個Resin,在寶寶的網上也有(itbaby.jss.cn)

然後在itbaby.jss.cn上下載一個HessianCSharp的DLL文件,供C#使用

1.開始,在Resin解壓後,我在WEB-INF中建立一個目錄itbaby,然後按Resin的幫助在itbaby目錄下寫了兩個類

PlusAPI和PlusService

PlusAPI的CODE如下:

package itbaby;

public interface PlusAPI

{

public String Plus2Str(int A,int B);

}

-------------------------------------------

PlusService的CODE如下:

package itbaby;

public class PlusService implements PlusAPI

{

public String Plus2Str(int A,int B)

{

int iSum = A + B;

String sSum = Integer.toString(iSum);

return sSum;

}

}

2.在WEB-INF目錄下建了個web.xml文件(注意原來的Resin帶的我都刪除了)

內容如下:

3.寫一個JSP的測試文件(test.jsp),看看兩個類是否運行正常

HessianProxyFactory factory = new HessianProxyFactory();

// http://localhost:8080/itbabywebsvc/plus

String url = ("http://" +

request.getServerName() + ":" + request.getServerPort() +

request.getContextPath() + "/itbabywebsvc/plus");

PlusAPI plus = (PlusAPI) factory.create(PlusAPI.class, url);

out.println("100 + 50 =  " + plus.Plus2Str(100,50)+"
");

out.println("150 + 200 =  " + plus.Plus2Str(150,200)+"
");

%>

運行結果輸出:

100 + 50 = 150

150 + 200 = 350

表示兩個類運行正常

4.開始寫C#的客戶端調用,啟動VS.Net2003,新建一個Windows應用程序,當然你也可以使用ASP.NET,在默認的Form1上添加一個Button1的按鈕.

然後添加一個引用HessianCSharp.DLL,(就是讓你下載的那個DLL)

5.添加一個類文件,命名為:PlusAPI.cs,CODE如下:

using System;

namespace HsnTest

{

public interface PlusAPI

{

string Plus2Str(int A,int B);

}

}

在Button1的Click中添加如下CODE:

private void button1_Click(object sender, System.EventArgs e)

{

CHessianProxyFactory factory = new CHessianProxyFactory();

string url="http://localhost:8080/itbabywebsvc/plus";

PlusAPI test = (PlusAPI)factory.Create(typeof(PlusAPI), url);

string sValue = "5 + 10 =" + test.Plus2Str(5,10);

MessageBox.Show(sValue );

}

別忘了應用命名空間

using hessiancsharp.client;

好了,運行,看到如下結果

hessian.jpg

總結:我們可以考慮這樣來使用JAVA的方法,Hessian還有 For PHP,Python,C++的類庫,有興趣的朋友可以在Caucho.com上多看看,多一句話,寶寶的網站就是用Resin,我使用Resin好多年了,小巧實用,大型的項目我也使用過,非常穩定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值