AndreasFagschlunger / O2Xfs

Java API for accessing CEN/XFS API, EMV Level 2 Kernel
47 stars 28 forks source link

problem in 2 application using xfs in java 7 #16

Closed afshinra closed 8 years ago

afshinra commented 8 years ago

Dear Andreas, when I am using o2xfs in java 6 , I can use another application to use devices with XFS ( like wincore tester application ) but when I update my java to java 7.0 , after loading my application that only call WFSStartUp the second application cant start the XFS by calling WFSStartUp and takes WFS_ERR_INTERNAL_ERROR and if I run the wicore tester before my application it calls WFSStartUp successfully and when I run my application I get the exception bellow : Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Windows\System32\O 2Xfs.dll: A dynamic link library (DLL) initialization routine failed at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at at.o2xfs.xfs.XfsAPI.(XfsAPI.java:55) at at.o2xfs.xfs.XfsAPI.getInstance(XfsAPI.java:62) at at.o2xfs.xfs.service.XfsServiceManager.(XfsServiceManager.java: 100) at at.o2xfs.xfs.service.XfsServiceManager.getInstance(XfsServiceManager. java:115)

please let me to know, did you have this problem before ? Best Regards, Afshin

AndreasFagschlunger commented 8 years ago

Hello Afshin!

I tested on a Wincor machine and didn't had a problem starting two ore more instances of O²xfs or Wincor Test Tool. I wonder why there is a O2Xfs.dll in your system directory?

C:\Windows\System32\O2Xfs.dll

The current XfsAPI-Class loads different DLLs:

System.loadLibrary("at.o2xfs.win32");
System.loadLibrary("at.o2xfs.xfs");

They also should rest in the same directory as the JAR files, or in another directory and referenced by setting the -Djava.library.path property. I recommend to delete the O2Xfs.dll from you system directory and all other O²Xfs related DLLs.

I will create a release of the current master branch, then you should be able to download a working example of the O²Xfs-Operator.

Best regards, Andreas

afshinra commented 8 years ago

Dear Andreas,

I don't update my project because adding some commands and devices, when I start using your project I don't create a branch on your project and so my project don't update till 9 months ago, the o2xfs.dll is my compiled dll name from your native project and it is a valid DLL as I described I dont have any problem for run the application but in Java 7.0 if I run my application every thing is OK but the second application can't use the XFS but in Java 6 there was not any problem

Can I ask which Java version is installed in Wincore machine ? If you think my project is deprecated I Update my project with latest project ?

Best Regards, Afshin

AndreasFagschlunger commented 8 years ago

I used Java 8 for test. It may be possible that your problems are a result of different compiler settings or something like that. You can wait for a Release I will provide, than we know for sure.

AndreasFagschlunger commented 8 years ago

Hello afshinra! I had the time to make a early version of O²Xfs Operator, you can download it here:

https://github.com/AndreasFagschlunger/O2Xfs/files/54644/at.o2xfs.operator.zip

I have to copy in order to launch two instances, but they both can access devices. Could you try to start on your machine?

If I had more time I probably will compile the DLLs again using Linux, because it works better out of the box - especially on older systems (Windows XP).

Which XFS Manager do you use?

AndreasFagschlunger commented 8 years ago

Duplicate of Issue #17, glad I could help.