简体   繁体   中英

How to call Function from an C# dll in Java?

i have a SAP-DLL to enable communication between a Programming interface and the SAP Programm.

I have following example Code for c# in combination with the dll-File:

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;
}

Now i want the same functionality to be transferred to java. I have absolutely no clue how to do that. I tried the following with Loggerservice as a starter, but it doesn't work:

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);
}

i just need some kind of information how to call the Functions from the dll or an example how to transfer the C# Code to working Code in Java.

Greetings,

Kevin

DLL is Microsoft format. Java is cross-platform, thus can't acknowledge anything operating-system specific, such as DLL.

One way around that is to use JNI (Java Native Interface) , but that's usually not a good solution, as it makes your program platform-dependent.

Instead, I would look for a JAR from SAP, that provides a similar interface. Maybe something along SAP JCO .

You can see some actual code examples using JCO here , and some technical information on step-by-step download and configure here .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM