1.下载Hessiancsharp.dll

2.新建一个c#窗体程序,然后在添加一个类库

3.添加一个接口类,接口中的方法名和参数与java中的服务方法名和参数保持一致

  public partial interface HessianManager
{
/// <summary>
///
/// </summary>
/// <param name="method">方法名</param>
/// <param name="operate">操作(添加、删除、修改)</param>
/// <param name="json">json数据</param>
/// <returns></returns>
string synchronizeData(string method, string operate, string json); string sayHello(string msg);
}

4.引用Hessiancsharp.dll

5.通过hessian调用java

    public partial class frmHessian : Form
{
string url = ConfigurationManager.AppSettings["url"].ToString(); CHessianProxyFactory factory = new CHessianProxyFactory();
HessianManager hessianClient = null; public frmHessian()
{
InitializeComponent();
hessianClient = (HessianManager)factory.Create(typeof(HessianManager), url);
} /// <summary>
/// 同步供应商
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSynSupplier_Click(object sender, EventArgs e)
{
List<Supplier> supplists = new List<Supplier>();
DataTable dt = DbHelperSQL.Query("SELECT * FROM dbo.Sys_Supplier WHERE ss_State=1").Tables[]; foreach (DataRow item in dt.Rows)
{
Supplier sup = new Supplier();
sup.bbbpSn = item["ss_SupplierNo"].ToString();
sup.bbbpId = item["ss_SupplierNo"].ToString();
sup.bbbpBbbrId = ;
sup.bbbpName = item["ss_SupplierName"].ToString();
sup.bbbpContact = item["ss_Contact"].ToString();
sup.bbbpContactTel = item["ss_Tel"].ToString();
sup.bbbpContactPhone = item["ss_Phone"].ToString();
sup.bbbpContactAddress = item["ss_Adress"].ToString();
sup.bbbpState = Convert.ToInt32(item["ss_State"]) == ? "有效" : "无效";
sup.bbbpLocationid = ; //item["sp_PurchaserNo"] == DBNull.Value ? 5001 : Convert.ToInt32(item["sp_PurchaserNo"]);
sup.bbbpYingfu = ;
sup.bbbpIds = ",1,";
sup.bbbpBank = item["ss_Bank"].ToString();
sup.bbbpBankNumber = item["ss_BankAccount"].ToString();
sup.bbbpGongyingjiezhiDate = string.Format("{0:yyyy-MM-dd HH:mm:ss}", item["ss_BusiLicexpireTime"]);
sup.bbbpFaxNumber = item["ss_Fax"].ToString();
supplists.Add(sup);
}
string msg = hessianClient.synchronizeData("synBusinessParter", "add", JsonHelper.SerializeObject(supplists)); Application.DoEvents();
MessageBox.Show("同步成功!");
}
}

参考:http://hessian.caucho.com/

https://sourceforge.net/projects/hessiancsharp/

http://www.cnblogs.com/lxsfg/archive/2008/08/27/1277777.html

C# 通过 Hessian服务调用java的更多相关文章

  1. java使用netty模拟实现一个类dubbo的分布式服务调用框架

    本文较长,如果想直接看代码可以查看项目源码地址: https://github.com/hetutu5238/rpc-demo.git 要想实现分布式服务调用框架,我们需要了解分布式服务一般需要的功能 ...

  2. Android(java)学习笔记229:服务(service)之绑定服务调用服务里面的方法 (采用接口隐藏代码内部实现)

    1.接口 接口可以隐藏代码内部的细节,只暴露程序员想暴露的方法 2.利用上面的思想优化之前的案例:服务(service)之绑定服务调用服务里面的方法,如下: (1)这里MainActivity.jav ...

  3. Android(java)学习笔记228:服务(service)之绑定服务调用服务里面的方法

    1.绑定服务调用服务里面的方法,图解: 步骤: (1)在Activity代码里面绑定 bindService(),以bind的方式开启服务 :                     bindServ ...

  4. Java进阶(三十一) Web服务调用

    Java进阶(三十一) Web服务调用 前言 有朋友问了一个问题:如何调用已知的音乐服务接口,服务文档如下: https://www.evernote.com/shard/s744/sh/c37cd5 ...

  5. Android(java)学习笔记172:服务(service)之绑定服务调用服务里面的方法 (采用接口隐藏代码内部实现)

    1. 接口 接口可以隐藏代码内部的细节,只暴露程序员想暴露的方法 2. 利用上面的思想优化之前的案例:服务(service)之绑定服务调用服务里面的方法,如下: (1)这里MainActivity.j ...

  6. Android(java)学习笔记171:服务(service)之绑定服务调用服务里面的方法

    1.绑定服务调用服务里面的方法,图解: 步骤: (1)在Activity代码里面绑定 bindService(),以bind的方式开启服务 :                     bindServ ...

  7. 使用DWR实现JS调用服务端Java代码

    DWR简介 DWR全称Direct Web Remoting,是一款非常优秀的远程过程调用(Remote Procedure Call)框架,通过浏览器提供的Ajax引擎实现在前端页面的JS代码中调用 ...

  8. Hessian服务端和客户端示例

    一.服务端 1.创建web项目,建立客户端调用的hessian接口和实现类. 接口: package com.ymx.hessian.service; import com.ymx.hessian.s ...

  9. Thrift实现C#调用Java开发步骤详解

    概述 Thrift实现C#调用Java开发步骤详解 详细 代码下载:http://www.demodashi.com/demo/10946.html Apache Thrift 是 Facebook ...

随机推荐

  1. 使用Maven搭建SSM框架(Eclipse)

    今天学习一下使用Maven搭建SSM框架,以前都是用别人配置好的框架写代码,今天试试自己配置一下SSM框架. 这里我的参数是Windows7 64位,tomcat9,eclipse-jee-neon- ...

  2. 操作系统 Linux ex1 note

    ctrl + alt + T 命令行 ctrl + alt + F7 ctrl + alt + F1-6 ls 列出所有文件 / 根目录 ~ /home/username cd 切换路径 . 当前目录 ...

  3. Fast Scatter-Gather I/O

    Some applications may need to read or write data to multiple buffers, which are separated in memory. ...

  4. Java的post(HTTPS)请求-----接口测试

    package com.ju.util; import java.io.BufferedReader; import java.io.IOException; import java.io.Input ...

  5. java代理模式实例讲解

    下面这个是设计模式课上的例子: import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import ...

  6. 安装windows系统备忘

    1.已写入系统镜像的U盘 2.激活工具(同时激活系统及office) 3.如果没有网口或网线,需要准备万能网卡驱动 4.office 5.360 6.输入法 7.微信 8.谷歌浏览器

  7. SSH 前言(JDK静态代理和动态代理)

    代理模式:代理模式是为了增强目标对象 代理分静态代理和动态代理 静态代理逻辑是:比如定义一个ISomeService接口,接口里面有一个输出doSecond()的方法,然后目标类SomeService ...

  8. 根据Attribute值条件对XML文档进行修改

    现手上有一个XML文档, 需要把"直接工序"改为"间接工序0". 你可以使用<对XML文档进行修改> http://www.cnblogs.com/ ...

  9. javascript 实现类似百度联想输入,自动补全功能

    js  实现类似百度联想输入,自动补全功能 方案一: search是搜索框id="search" //点击页面隐藏自动补全提示框 document.onclick = functi ...

  10. 反欺诈(Fraud Detection)中所用到的机器学习模型

    反欺诈应用的机器模型算法,多为二分类算法. 1.gbdt梯度提升决策树(Gradient Boosting Decision Tree,GBDT)算法,该算法的性能高,且在各类数据挖掘中应用广泛,表现 ...