.net 调用SAP RFC的几种方法
转自:http://www.cherpservice.com/pub/newsdetail.asp?Newsid=3613 第一种方式采用SAP.net Connector:
最新版本是3.,不开源,不知道有没有官方的技术支持。
从3.0版本开始,使用方法上开始跟2.0相差很大,不再需要生成代理类,
好处是一旦SAP RFC接口做了更改,不需要重新生成代理类。
凡是都有两面性,这个好处也可以看做一个缺点:如果对RFC信息比较少,你不能用代理类的方式取得参数或者返回值的数据结构。
RfcConfigParameters parms = new RfcConfigParameters();
parms.Add(RfcConfigParameters.MessageServerHost, SAP Server IP);
parms.Add(RfcConfigParameters.GatewayHost, SAP Server IP);
//parms.Add(RfcConfigParameters.GatewayService, SAP Server IP);
parms.Add(RfcConfigParameters.SystemID, "SB6"); // Set actual System ID
parms.Add(RfcConfigParameters.SystemNumber, ""); //// Set actual System Number
parms.Add(RfcConfigParameters.User, "test");
parms.Add(RfcConfigParameters.Password, "test");
parms.Add(RfcConfigParameters.Client, ""); // Set actual client ID
parms.Add(RfcConfigParameters.Language, "EN");
parms.Add(RfcConfigParameters.PoolSize, "");
parms.Add(RfcConfigParameters.MaxPoolSize, "");
parms.Add(RfcConfigParameters.IdleTimeout, "");
RfcRepository repo = prd.Repository;
IRfcFunction companyBapi = repo.CreateFunction(RFC Name);
companyBapi.SetValue(Parameter name, value);
companyBapi.Invoke(prd);
object o = companyBapi.GetValue(return parameter name);
Console.WriteLine(o);
第二种方式采用纯粹的Biztalk Adapter.,不用Biztalk Server:
新建一个Console Application, 添加“add adapter service reference...”, 弹出下面的窗口 点击Configuration配置好SAP Server的基本信息,包括服务器地址, System Number, Client, 访问SAP的用户名和密码。
配置完后,测试连接是否OK, 如果没有问题可以列出RFC,IDOC之类的SAP世界里的东东,过滤出需要的RFC 填入一个合适的文件名前缀,默认是SAPBinging,点击OK生成一个WCF代理类,命名方式是 文件名前缀+Client.cs,
这里是SAPBindingClient.cs。然后你肯定就知道该怎么用它了:)
第三种方式是用Biztalk Server :
具体步骤参考Biztalk Adapter的帮助文档,需要注意的是,如上图SendToLOBPort这个双向Port包含的方法名称"Operation_1"需要更改成RFC的名字或者修改Schema文件(参考 Troubleshooting Operational Issues):
Change the operation name in the logical port in BizTalk orchestration from Operation_1, etc. to the operation for which you generate metadata, for example RFC_CUSTOMER_GET.
Change the operation name in the action on the physical port to the operation name in the logical port.
计划下一步加上这三种方法的性能,并发,容错测试分析。
.net 调用SAP RFC的几种方法的更多相关文章
- C# 使用 SAP NCO3.0 调用SAP RFC函数接口
最近使用C#调用SAP RFC函数,SAP提供了NCO3.0组件. 下载组件安装,之后引用“sapnco.dll”和“sapnco_utils.dll”两个文件. 在程序中 using SAP.Mid ...
- 请阐述调用Activity有哪几种方法,并写出相关的Java代码
请阐述调用Activity有哪几种方法,并写出相关的Java代码. 答案:可以采用两种方式调用Activity:显示调用和隐式调用.显示调用直接指定了Activity,代码如下: Intent int ...
- K2 BPM项目 基于COM组件调用SAP RFC 问题
K2 BPM项目 基于COM组件调用SAP RFC 问题 问题前景: 环境:Win 2008 R2 64bit 最近项目中有支流程需求中需要在会计入账环节回写SAP的会计凭证. SAP组给我们提供.N ...
- ASP.NET,C#后台调用前台javascript的五种方法
C#后台调用前台javascript的五种方法 由于项目需要,用到其他项目组用VC开发的组件,在web后台代码无法访问这个组件,所以只好通过后台调用前台的javascript,从而操作这个组件.在网上 ...
- C/C++:Windows编程—调用DLL程序的2种方法(转载)
文章为转载,原文出处https://blog.csdn.net/qq_29542611/article/details/86618902 前言先简单介绍下DLL.DLL:Dynamic Link Li ...
- .net 调用SAP RFC函数获取数据的两种方式
方式1:使用客户端自带的组件 安装客户端以后,添加引用:SAPFunctionsOCX(.net 的Com列表里一般找不到,需要引用DLL[一般位于以下路径:Program Files\SAP\Fro ...
- 学习之路十四:客户端调用WCF服务的几种方法小议
最近项目中接触了一点WCF的知识,也就是怎么调用WCF服务,上网查了一些资料,很快就搞出来,可是不符合头的要求,主要有以下几个方面: ①WCF的地址会变动,地址虽变,但是里面的逻辑不变! ②不要引用W ...
- (转)JAVA 调用Web Service的三种方法
1.使用HttpClient用到的jar文件:commons-httpclient-3.1.jar方法:预先定义好Soap请求数据,可以借助于XMLSpy Professional软件来做这一步生成. ...
- go 调用windows dll 的三种方法
参考:https://blog.csdn.net/qq_39584315/article/details/81287669 大部分代码参考:https://studygolang.com/articl ...
随机推荐
- OpenSSL使用1(用OpenSSL生成自签名证书在IIS上搭建Https站点)(用于iOS的https访问)
前提: 先安装openssl,安装有两种方式,第一种直接下载安装包,装上就可运行:第二种可以自己下载源码,自己编译.这里推荐第一种. 安装包:http://slproweb.com/products/ ...
- ios内存管理笔记(一)
- Fresco,Facbook强大的图片加载框架
项目git地址:https://github.com/facebook/fresco Fresco是 facebook推出的一款强大的图片加载的框架:主要有Image Pipeline和Drawees ...
- 【spring cloud】子模块启动报错com.netflix.hystrix.contrib.javanica.aop.aspectj.HystrixCommandAspect
spring cloud子模块启动报错 Caused by: java.lang.ClassNotFoundException: com.netflix.hystrix.contrib.javanic ...
- dedecms让channelartlist标签支持currentstyle属性方
把dedecms中用channelartlist当导航的站很普遍,但是有的站需要用到当前页中导航样,就是随着不同的页面,导航样式也随着变化. 首先打开include\taglib\channelart ...
- Git历险记(五)——Git里的分支&合并
分支与合并 在Git里面我们可以创建不同的分支,来进行调试.发布.维护等不同工作,而互不干扰.下面我们还是来创建一个试验仓库,看一下Git分支运作的台前幕后: $rm -rf test_branch_ ...
- Zookeeper demo增删改查
Zookeeper 的增删改查demo代码 public class SimpleZkClient { private static final String connectString = &quo ...
- Linux学习之十五-Linux文件特殊权限和附加权限
Linux文件特殊权限和附加权限 1.特殊权限suid 范围:只能针对二进制命令文件 作用:让普通用户拥有二进制命令文件所有者的权限 举例1:普通用户使用passwd命令修改密码 cat /etc/s ...
- 搭建rocketMq环境
大体流程按照文章https://blog.csdn.net/wangmx1993328/article/details/81536168逐步搭建,下面列出踩过的一些坑 1,自己的阿里云服务器端口没开放 ...
- InnoDB Insert(插入)操作(下)--mysql技术内幕
接上一篇文章,最后做的那个实验,我是想证明mysql innodb存储引擎,commit操作与flush数据到磁盘之间的关系,当与同事交流之后,他说,你应该把innodb_buffer_size的大小 ...