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 ...
随机推荐
- HttpServletResponse和HttpServletRequest详解.RP
HttpServletResponse,HttpServletRequest详解 1.相关的接口 HttpServletRequest HttpServletRequest接口最常用的方法就是获得 ...
- map集合的应用
分析以下需求,并用代码实现: (1)利用键盘录入,输入一个字符串 (2)统计该字符串中各个字符的数量例如 用户输入字符串"If~you-want~to~change-your_fate_I_ ...
- java全栈day05--ArrayList的基本功能
在前面我们学习了数组,数组可以保存多个元素,但在某些情况下无法确定到底要保存多少个元素,此时数组将不再适用,因为数组的长度不可变.例如,要保存一个学校的学生,由于不停有新生来报道,同时也有学生毕业离开 ...
- 对C语言中static的理解
对C语言中的static关键字的深入理解 在一次面试的时候面试官问我static全局变量与全局变量的区别,之前虽然用过但是并没仔细去搞懂他,这次来细心的学习一下. 基本概念 使用static有三种情况 ...
- CefSharp使用一
一.使用NuGet搜索CefSharp然后下载CefSharp.WinForms和CefSharp.Common 二.引用CefSharp.Windows,CefSharp,CefSharp三个dll ...
- 图片展示js特效
html 代码片段,做一个table表格 <table width="798" height="276" border="0" ali ...
- NMS---非极大值抑制
在物体检测中,NMS(Non-maximum suppression)应用十分广泛,其目的是为了消除多余的框,找到最佳的物体检测的位置.在RCNN系列算法中,会从一张图片中找出很多个候选框(可能包含物 ...
- 502. IPO
Suppose LeetCode will start its IPO soon. In order to sell a good price of its shares to Venture Cap ...
- B - Factors of Factorial
Problem Statement You are given an integer N. Find the number of the positive divisors of N!, modulo ...
- 数据结构19: BF算法(普通模式匹配算法)
判断两个串之间是否存在主串与子串的关系,这个过程称为串的模式匹配. 在串的模式匹配过程,子串 T 通常被叫做“模式串”. 普通的模式匹配(“BF”算法) 判断两个串是否存在子串与主串的关系,最直接的算 ...