.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 ...
随机推荐
- hosts不支持泛解析
hosts不支持泛解析,只能是一个域名对应一个IP. 如果想要实现只能用一些第三方的DNS软件做解析.
- IOS开发~灵活使用 dismissViewControllerAnimated / dismissModalViewControllerAnimated
当遇到: A presentViewController B , B presentViewController C, C presentViewController D,问如何从D一下子回到A, ...
- linux命令lsattr、chattr、man
1.man命令,可以查看手册 配置位置/etc/man.conf MANPATH决定手册查询位置 MANSECT决定man查询的顺序 man的查询 linux man的常用用法: man sectio ...
- Linux下测试PHP和MySQL是否正确安装
测试PHP: 本打算这样配置: 1.拷贝PHP配置文件 cd /usr/local/php/etc cp php.ini /usr/local/php/lib/php.ini 2.修改apache配置 ...
- selenium firefox46.0.1设置禁用图片
firefox_profile = webdriver.FirefoxProfile()firefox_profile.set_preference('permissions.default.ima ...
- Linux执行命令unable to create new native thread问题
对于系统的Linux的问题 主要是线程数有限制max user processes 参数限制 修改这个参数涉及到修改两个文件 vi /etc/security/limits.conf 增加如下内容: ...
- 导出txt格式的说明书
/// <summary> /// 说明书 /// </summary> /// <returns></returns> public FileResu ...
- Linux 下wifi 驱动开发(三)—— SDIO接口WiFi驱动浅析
SDIO-Wifi模块是基于SDIO接口的符合wifi无线网络标准的嵌入式模块,内置无线网络协议IEEE802.11协议栈以及TCP/IP协议栈.可以实现用户主平台数据通过SDIO口到无线网络之间的转 ...
- 微服务之旅:从Netflix OSS到 Istio Service Mesh
在这篇文章中,我们从Netflix开始,通过Envoy和Istio的崛起,快速浏览微服务的历史. 微服务是具有边界上下文的松散耦合服务,使您能够独立开发,部署和扩展服务.它还可以定义为构建独立开发和部 ...
- Java的Executor框架和线程池实现原理
Java的Executor框架 1,Executor接口 public interface Executor { void execute(Runnable command); } Executor接 ...