gpt4 book ai didi

java - 如何在 Java 中从 C# dll 调用函数?

转载 作者:行者123 更新时间:2023-12-01 20:03:01 24 4
gpt4 key购买 nike

我有一个 SAP-DLL 来启用编程接口(interface)和 SAP 程序之间的通信。

我有以下 c# 示例代码与 dll 文件结合使用:

var loggerService = LoggerService.GetLoggerService("FileLogger");
var itasProxy = SapProxyFactory.CreateSapProxy(SapSystem.Example, loggerService, "Example_User", StringExtension.CreateSecureString("Example_Password"));
var funcResult = sapProxy.SearchSapAddress(clientNo);

if (funcResult.Successfull)
{
funcResult.ReturnValue = withFormatting
? AddressFormatter.SplitStreetHouseNo(funcResult.ReturnValue)
: funcResult.ReturnValue;
}

现在我希望将相同的功能转移到java。我完全不知道该怎么做。我使用 Loggerservice 作为启动器尝试了以下操作,但它不起作用:

public class SAPConnector {

public static void main(String[] args) {
// TODO Auto-generated method stub
connectSAP();
}
public void connectSAP()
{
System.load("C://Temp//SapConnector.dll");
Object loggerService = getLoggerService("FileLogger");
}
public native Object getLoggerService(String lcLogger);
}

我只需要一些如何从 dll 调用函数的信息,或者如何将 C# 代码传输到 Java 中的工作代码的示例。

问候,

凯文

最佳答案

DLL是微软格式。 Java 是跨平台的,因此无法识别任何特定于操作系统的内容,例如 DLL。

解决这个问题的一种方法是使用 JNI (Java Native Interface) ,但这通常不是一个好的解决方案,因为它使您的程序依赖于平台。

相反,我会寻找来自 SAP 的 JAR,它提供了类似的接口(interface)。也许有什么东西SAP JCO .

你可以看到一些actual code examples using JCO here ,还有一些technical information on step-by-step download and configure here

关于java - 如何在 Java 中从 C# dll 调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47828093/

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