问题描述
用C#调用SAP的RFC接口,代码运行到RfcDestinationManager.RegisterDestinationConfiguration(ID);就报:“Thetypeinitializerfor'SAP.Middleware.Connector.RfcDestinationManager'threwanexception”还请帮忙看看问题出在哪里,网上给的解决办法我的试过,还是没解决,还请大神指点指点//namespacesaprfc//{//publicpartialclassForm1:Form//{//publicForm1()//{//InitializeComponent();//}//publicvoidnco()//{//IDestinationConfigurationID=newMyBackendConfig();//RfcDestinationManager.RegisterDestinationConfiguration(ID);//抛出异常:“Thetypeinitializerfor'SAP.Middleware.Connector.RfcDestinationManager'threwanexception”//RfcDestinationprd=RfcDestinationManager.GetDestination("PRD_000");//RfcDestinationManager.UnregisterDestinationConfiguration(ID);//反注册//nco(prd);//}//publicvoidnco(RfcDestinationprd)//{//RfcRepositoryrepo=prd.Repository;//IRfcFunctioncompanyBapi=repo.CreateFunction("ZFM_SRV_YW_PRODUCT");//指定RFC名称//companyBapi.SetValue("SIGN",'1');//输入参数//companyBapi.SetValue("OPTION","EQ");//输入参数//companyBapi.SetValue("LOW",txtserialno.Text.ToString());//输入参数//companyBapi.SetValue("HIGH","");//输入参数//companyBapi.Invoke(prd);//开始调用执行//IRfcTabletable=companyBapi.GetTable("IT_MARA");//获取相应的品号内表////获取产品信息//stringPRODUCT_ID=companyBapi.GetValue("PRODUCT_ID").ToString();//产品ID//stringZZ0018=companyBapi.GetValue("ZZ0018").ToString();//型号//stringZZ0012=companyBapi.GetValue("ZZ0012").ToString();//设备类型//stringSS_DLS=companyBapi.GetValue("SS_DLS").ToString();//所属代理商//stringFW_DLS=companyBapi.GetValue("FW_DLS").ToString();//服务代理商名称//stringREMARK=companyBapi.GetValue("REMARK").ToString();//备注//stringCUSTOMER_NAME=companyBapi.GetValue("CUSTOMER_NAME").ToString();//客户名称//prd=null;//repo=null;//}//privatevoidbutton1_Click(objectsender,EventArgse)//{//nco();//}//}////登陆SAP前的准备工作//publicclassMyBackendConfig:IDestinationConfiguration//{//publicRfcConfigParametersGetParameters(StringdestinationName)//{//if("PRD_000".Equals(destinationName))//{//RfcConfigParametersparms=newRfcConfigParameters();//parms.Add(RfcConfigParameters.AppServerHost,"XX.XX.XX.XX");//SAP主机IP//parms.Add(RfcConfigParameters.SystemNumber,"00");//SAP实例//parms.Add(RfcConfigParameters.User,"sb");//用户名//parms.Add(RfcConfigParameters.Password,"sb");//密码//parms.Add(RfcConfigParameters.Client,"300");//Client//parms.Add(RfcConfigParameters.Language,"ZH");//登陆语言//parms.Add(RfcConfigParameters.PoolSize,"5");//parms.Add(RfcConfigParameters.MaxPoolSize,"10");//parms.Add(RfcConfigParameters.IdleTimeout,"60");//returnparms;//}//elsereturnnull;//}//publicboolChangeEventsSupported()//{//returnfalse;//}//publiceventRfcDestinationManager.ConfigurationChangeHandlerConfigurationChanged;//}//}
解决方案
解决方案二:
如果你是一个医生,护士跑过来告诉你病人肚子疼,你会问这个护士是什么原因导致的肚子疼,还是去看看那个病人是怎么回事?