我们有许多用 C# 开发的应用程序,它们使用 SAP .NET 连接器 3.0 与 SAP 交互。我对此非常熟悉,最近有人要求我通过使用 SNC(安全网络通信)选项来保护这个接口,我也能够配置并开始工作。
但是,我想完全通过配置文件而不是以编程方式配置我的 SNC 目的地。要指定不安全的连接,我可以在配置文件中指定以下目标:
<SAP.Middleware.Connector>
<ClientSettings>
<DestinationConfiguration>
<destinations>
<add NAME="MySAPName" USER="MyUser" PASSWD="orly" CLIENT="100" LANG="EN" ASHOST="mysapname.mydomain.com" SYSNR="70" MAX_POOL_SIZE="20" IDLE_TIMEOUT="10"/>
</destinations>
</DestinationConfiguration>
</ClientSettings>
</SAP.Middleware.Connector>
但是,为了创建一个安全的SNC 连接,到目前为止,我只是想出了如何通过以编程方式配置目标来做到这一点,例如:
Params.Add(RfcConfigParameters.AppServerHost, "mysapname.mydomain.com");
Params.Add(RfcConfigParameters.Name, "MySAPName");
Params.Add(RfcConfigParameters.SystemNumber, "70");
Params.Add(RfcConfigParameters.Language, "EN");
Params.Add(RfcConfigParameters.Client, "100");
Params.Add(RfcConfigParameters.User,"MyUser");
Params.Add(RfcConfigParameters.Password, "orly");
// Additional Params for SNC, not settable in config?
Params.Add(RfcConfigParameters.SncMode, "8");
Params.Add(RfcConfigParameters.SncPartnerName, "p:CN=RemovedForConfidentiality, OU=, O=, L=,C=GB");
Params.Add(RfcConfigParameters.SncMyName, "p:CN=MyRemovedPartnerName, C=GB, O=, OU=");
Params.Add(RfcConfigParameters.SncQOP, "8");
Params.Add(RfcConfigParameters.Trace, "2");
因此,鉴于这种情况,我的问题是:我可以仅使用配置文件配置基于 SNC 的 SAP 目标吗?如果是这样,怎么做?
我意识到我可以将 SncPartnerName 等存储在 AppSettings 中,但如果可以在 DestinationConfiguration 部分指定它会更好。但是,我似乎找不到任何关于此的文档。我应该注意我知道 SAP SCN 网站,并且在那里查看过没有成果,尽管我无法访问 SAP Service Marketplace。