But based on the reading that I have done, 7.1 Java API should be able to
connect to a 7.1 Server with no native code reliance

  _____  

From: Action Request System discussion list(ARSList)
[mailto:[EMAIL PROTECTED] On Behalf Of Calman Steynberg
Sent: Thursday, January 31, 2008 9:31 AM
To: [email protected]
Subject: Re: Pure Java 7.1 API: Am I missing something?


** Hugo,

you're not doing anything wrong. The 7.1 API still requires some JNI code,
so what you are seeing is expected.

Calman
 
Hugo Visser wrote: 

** Hi,


Can anybody confirm that they are using the 7.1 API (released, not beta
version) in a pure Java way, without any use of the .dlls (for example, on a
Mac)? The reason why I'm asking this is because I'm running in to problems
when I try to run my API in pure java mode. I've disabled JNI loading
through the arsys_api.xml file and set the JRPC mode to true. Calls to
Config.getInstance().getJrpcMode() and Config.getInstance().getJniLoadMode()
confirm this at runtime.
However, when I run my program I get this stacktrace:

Exception in thread "main" java.lang.UnsatisfiedLinkError: eval
    at com.bmc.arsys.api.Proxy.eval(Native Method) <-- "native" !!
    at com.bmc.arsys.api.Proxy.a(Unknown Source)
    at com.bmc.arsys.api.Proxy.a(Unknown Source)
    at com.bmc.arsys.api.Proxy.setProxyProperties(Unknown Source)
    at com.bmc.arsys.api.PoolingProxyManager.getProxy(Unknown Source)
    at com.bmc.arsys.api.ARServerUser.verifyUser(Unknown Source)
    at com.bmc.arsys.api.ARServerUser.login(Unknown Source)
    at test.Main.main(Main.java:27)

So I dug in the code and decompiled the Proxy class and this is what I see
in the (obfuscated) function a(Object[]):
...
        int i = Config.getInstance().getJniLoadMode();
        if(i == 1)
            a();  // which is the function to load the JNI libraries

then the code continues with:
        Object aobj1[] = (Object[])(Object[])eval(((Object) (aobj)));

which is the code to the "eval" function. However, "eval" is a native
function aka a function that relies on some native component that is never
loaded because the API is configured not to. So I'm really asking myself and
the list, how on earth this could ever work...This must have broke somewhere
between versions, because I did run the same code against a different
arapi71.jar, but from a beta version (I think).

So can anybody on the list confirm that this scenario does work (hint: make
sure there are no 7.1 libraries in you PATH)? Maybe Appajee can step up and
shed some light on this.

Thanks,

Hugo


__Platinum Sponsor: www.rmsportal.com ARSlist: "Where the Answers Are"
html___ 


__Platinum Sponsor: www.rmsportal.com ARSlist: "Where the Answers Are"
html___ 

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor: www.rmsportal.com ARSlist: "Where the Answers Are"

Reply via email to