gpt4 book ai didi

c# - 在 C# 中使用目标配置时不允许 SAP 硬编码登录参数

转载 作者:行者123 更新时间:2023-12-02 18:09:50 25 4
gpt4 key购买 nike

当我尝试动态连接到 SAP 服务器时,我收到如下错误

使用目标配置时不允许使用硬编码登录参数

任何人请帮助我

我需要从代码隐藏动态发送所有参数,而不是从 Web.config

从 web.config 可以正常工作..但这里不行

我的代码是这样的

            SAPSystemConnect objSapConfig = new SAPSystemConnect();
RfcDestination objSapdestination = null;

RfcDestinationManager.RegisterDestinationConfiguration(objSapConfig);

RfcConfigParameters objParameter = new RfcConfigParameters();
objParameter.Add(RfcConfigParameters.AppServerHost, Convert.ToString("XXX"));
objParameter.Add(RfcConfigParameters.Client, Convert.ToString("XXX"));
objParameter.Add(RfcConfigParameters.Password, Convert.ToString("XXX"));
objParameter.Add(RfcConfigParameters.SystemNumber, Convert.ToString("XXX"));
objParameter.Add(RfcConfigParameters.User, Convert.ToString("XXX"));
objParameter.Add(RfcConfigParameters.Language, Convert.ToString("XXX"));
objParameter.Add(RfcConfigParameters.LogonGroup, Convert.ToString("XXX"));

objParameter.Add(RfcConfigParameters.PoolSize, Convert.ToString("XXX"));
objParameter.Add(RfcConfigParameters.PeakConnectionsLimit, Convert.ToString("5"));
objParameter.Add(RfcConfigParameters.IdleTimeout, Convert.ToString("XXX"));
//objParameter.Add(RfcConfigParameters.Name, Convert.ToString("XXX"));



objSapdestination = RfcDestinationManager.GetDestination(objParameter);
RfcCustomDestination customDest = objSapdestination.CreateCustomDestination();
IRfcFunction func = customDest.Repository.CreateFunction("XXX");




RfcRepository objSapRepository = objSapdestination.Repository;

// Calling Sap Function
IRfcFunction objSapDataFunction = objSapRepository.CreateFunction(Convert.ToString("XXX"));

objSapDataFunction.SetValue("XXX", "XXX");

objSapDataFunction.Invoke(objSapdestination);

// Filling SapData into Table
IRfcTable objSapTable = objSapDataFunction.GetTable(Convert.ToString("GIT_DATA"));

最佳答案

看看这个。这只是一个演示代码。

public class Program
{
static void Main(string[] args)
{
SapConnection con = new SapConnection();
RfcDestinationManager.RegisterDestinationConfiguration(con);
RfcDestination dest = RfcDestinationManager.GetDestination("NSP");
RfcRepository repo = dest.Repository;

IRfcFunction fReadTable = repo.CreateFunction("ZSOMA");
fReadTable.SetValue("I_NRO1", 1);
fReadTable.SetValue("I_NRO2", 2);


fReadTable.Invoke(dest);
var result = fReadTable.GetValue("E_RESULT");

Console.WriteLine(result.ToString());
Console.ReadLine();
}
}

public class SapConnection : IDestinationConfiguration
{
public RfcConfigParameters GetParameters(string destinationName)
{
RfcConfigParameters conf = new RfcConfigParameters();
if (destinationName == "NSP")
{
conf.Add(RfcConfigParameters.AppServerHost, "sap-vm");
conf.Add(RfcConfigParameters.SystemNumber, "00");
conf.Add(RfcConfigParameters.SystemID, "xxx");
conf.Add(RfcConfigParameters.User, "yourusername");
conf.Add(RfcConfigParameters.Password, "yourpassword");
conf.Add(RfcConfigParameters.Client, "001");
}
return conf;
}

public bool ChangeEventsSupported()
{
return true;
}

public event RfcDestinationManager.ConfigurationChangeHandler ConfigurationChanged;
}

关于c# - 在 C# 中使用目标配置时不允许 SAP 硬编码登录参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23442323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com