C# 通过 Hessian服务调用java
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的更多相关文章
- java使用netty模拟实现一个类dubbo的分布式服务调用框架
本文较长,如果想直接看代码可以查看项目源码地址: https://github.com/hetutu5238/rpc-demo.git 要想实现分布式服务调用框架,我们需要了解分布式服务一般需要的功能 ...
- Android(java)学习笔记229:服务(service)之绑定服务调用服务里面的方法 (采用接口隐藏代码内部实现)
1.接口 接口可以隐藏代码内部的细节,只暴露程序员想暴露的方法 2.利用上面的思想优化之前的案例:服务(service)之绑定服务调用服务里面的方法,如下: (1)这里MainActivity.jav ...
- Android(java)学习笔记228:服务(service)之绑定服务调用服务里面的方法
1.绑定服务调用服务里面的方法,图解: 步骤: (1)在Activity代码里面绑定 bindService(),以bind的方式开启服务 : bindServ ...
- Java进阶(三十一) Web服务调用
Java进阶(三十一) Web服务调用 前言 有朋友问了一个问题:如何调用已知的音乐服务接口,服务文档如下: https://www.evernote.com/shard/s744/sh/c37cd5 ...
- Android(java)学习笔记172:服务(service)之绑定服务调用服务里面的方法 (采用接口隐藏代码内部实现)
1. 接口 接口可以隐藏代码内部的细节,只暴露程序员想暴露的方法 2. 利用上面的思想优化之前的案例:服务(service)之绑定服务调用服务里面的方法,如下: (1)这里MainActivity.j ...
- Android(java)学习笔记171:服务(service)之绑定服务调用服务里面的方法
1.绑定服务调用服务里面的方法,图解: 步骤: (1)在Activity代码里面绑定 bindService(),以bind的方式开启服务 : bindServ ...
- 使用DWR实现JS调用服务端Java代码
DWR简介 DWR全称Direct Web Remoting,是一款非常优秀的远程过程调用(Remote Procedure Call)框架,通过浏览器提供的Ajax引擎实现在前端页面的JS代码中调用 ...
- Hessian服务端和客户端示例
一.服务端 1.创建web项目,建立客户端调用的hessian接口和实现类. 接口: package com.ymx.hessian.service; import com.ymx.hessian.s ...
- Thrift实现C#调用Java开发步骤详解
概述 Thrift实现C#调用Java开发步骤详解 详细 代码下载:http://www.demodashi.com/demo/10946.html Apache Thrift 是 Facebook ...
随机推荐
- 51NOD 1371填数字
传送门 分析 此题关键在于想出dp[i][j][k]代表考虑到第i行,还能放1的的共有j列,还能放2的共有k行.之后就枚举每一行是没有还是1个1还是2个1还是1个2,然后转移即可. 代码 #inclu ...
- SPOJ LCMSUM - LCM Sum
题意是求: $\sum_{i = 1}^{n}lcm(i, n)$ $= \sum_{i = 1}^{n}\frac{ni}{gcd(i, n)}$ $= n\sum_{i = 1}^{n}\frac ...
- vim尝试
http://3502990.blog.51cto.com/3492990/985750
- 关于eclipse导入maven项目
1:删除其他的配置文件,只需要源码 和 pom文件 2:导入项目,再修改几个地方: 2.1: 所选项目右键- properties - Project Facet,勾上 Dynamic Web Mod ...
- 原子变量与CAS算法小结
CAS算法 CAS(compare-and-swap)是一种硬件对并发的支持,针对多处理器操作而设计的处理器中的一种特殊指令,用于管理对共享数据的并发访问. CAS是一种无锁非阻塞算法的实现. CAS ...
- JAVA进阶----ThreadPoolExecutor机制(转)
http://825635381.iteye.com/blog/2184680 ThreadPoolExecutor机制 一.概述 1.ThreadPoolExecutor作为java.util.co ...
- Python脚本开发练习
打印乘法口诀表 #!/usr/bin/python #coding=utf-8 print("Hello,World....") print("你好,欢迎来到Python ...
- 2019.2.14 考试T1 FFT
\(\color{#0066ff}{ 题目描述 }\) 衡水二中的机房里经常有人莫名其妙地犇雷,leizi很生气,决定要找出那个犇雷的人 机房有n个人,每个人都认为机房里有两个人可能会犇雷,其中第i个 ...
- CF877E Danil and a Part-time Job 线段树维护dfs序
\(\color{#0066ff}{题目描述}\) 有一棵 n 个点的树,根结点为 1 号点,每个点的权值都是 1 或 0 共有 m 次操作,操作分为两种 get 询问一个点 x 的子树里有多少个 1 ...
- EOS 修改文件名称与文件夹名称
最近有一个需求,需要修改EOS名称,将所有文件里面的EOS改为UOS,文件夹名称也需要修改,然后重新构建项目,于是写了一个小程序进行修改.如果有相同项目类似的修改,可以在下面这个程序稍做修改就可以了. ...