轉自:http://www.cherpservice.com/pub/newsdetail.asp?Newsid=3613
第一種方式采用SAP.net Connector:
最新版本是3.01,不開源,不知道有沒有官方的技術支持。
從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, "02"); //// Set actual System Number
parms.Add(RfcConfigParameters.User, "test");
parms.Add(RfcConfigParameters.Password, "test");
parms.Add(RfcConfigParameters.Client, "120"); // Set actual client ID
parms.Add(RfcConfigParameters.Language, "EN");
parms.Add(RfcConfigParameters.PoolSize, "5");
parms.Add(RfcConfigParameters.MaxPoolSize, "10");
parms.Add(RfcConfigParameters.IdleTimeout, "600");
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 2010:
具體步驟參考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.
計划下一步加上這三種方法的性能,並發,容錯測試分析。