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. LeetCode第111题:二叉树的最小深度

    问题描述 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,1 ...

  2. java获取Excel的导入

    先准备好这2个架包 import java.io.*; import org.apache.commons.io.FileUtils; import org.apache.poi.hssf.userm ...

  3. FileSaver.js导出json文件和文本

    最近刚刚写了个json数据导出生成Excel文件的,顺便总结下利用FileSaver.js导出其他文件的,这里要注意的一个点就是,当导出的是json文件或是txt文件时,导出的内容要是字符串,特别当时 ...

  4. easyui 展开缩起

    1.引用jquery-easyui-1.4.4/datagrid-detailview 2.增加属性 view: detailview, detailFormatter: function (rowI ...

  5. officeaddin开发->excel,word另存为html,xml,csv,txt设置编码格式

    在excel中设置保存之后的编码格式,需要获取到Microsoft.Office.Interop.Excel.Workbook然后设置其中的webOpetions的编码格式就可以了. workbook ...

  6. 网易CentOS yum源

    wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

  7. [CentOS7] 安装sogou输入法

    CentOS7 下的默认输入法不是很好用,于是还是用sogou输入法 由于官网只有Ubuntu版本的sogou输入法安装包,于是先下载下来再说,博主用的版本在这里(密:ph13): 接下来解压data ...

  8. Git入门操作

    仅学习Git的一些入门操作比较容易,平时更多地使用GitHub,不过今天我想自个搭个服务练练手.当看完一些材料合作了一些验证之后,才发现其实所谓的服务和之前的svn完全不一样了.过程记录如下: Lin ...

  9. linux影响上传文件大小的因素

    主要是从三个方面 ①.php代码方面(这个无需说明) ②.php.ini配置 max_execution_time = 600 ;每个PHP页面运行的最大时间值(秒),默认30秒max_input_t ...

  10. loj #2044. 「CQOI2016」手机号码

    #2044. 「CQOI2016」手机号码 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据   题目描述 ...