(java.lang.UnsatisfiedLinkError: getJNIDate)
But now is stand befor an other problem:
I tried to print out the java.library.path ( got by
System.err.println(AxisProperties.getProperty("java.library.path"));
)
but my libJNIDate.so is in this path.
Is there an other path used by axis?
thanks
harry
On Die, 2003-07-01 at 08:24, Sanjiva Weerawarana wrote:
Try changing the catch around jd.getDate() to catch (Throwable) .. maybe its throwing something you're not catching. Sanjiva. ----- Original Message ----- From: "Harald Pollak" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Monday, June 30, 2003 5:06 PM Subject: Axis / JNI once more > Hy everybody! > > I try to use JNI within a Axis-Service. I try since weeks to bring it to > work, but my result is every time the same: > > <soapenv:Envelope> > <soapenv:Body> > <soapenv:Fault> > <faultcode>soapenv:Server.userException</faultcode> > > <faultstring>java.lang.reflect.InvocationTargetException</faultstring> > <detail/> > </soapenv:Fault> > </soapenv:Body> > </soapenv:Envelope> > > my enviroment: > Linux: SuSE 8.2 > Tomcat 5 ( 5.0.3 Alpha ) ( allso tried with Tomcat 4.1.24 ) > Axis 1.1 ( final ) ( allso tried with 1.1rc2 ) > Client: Mozzila 1.4 > > Invocation: > I call the function getDate with 2 Parameters via: > > http://localhost:8080/axis/services/services?method=getDate&in0=10.146.3.42& in1=1800 > > The Code: > ----------- > > The Implementation: > > public class ServicesSoapBindingImpl implements SMS.JNIWS{ > > public java.lang.String getDate(java.lang.String in0, int in1) > throws java.rmi.RemoteException { > String s = new String(); > System.err.println(LibPath); > > try { > System.err.println("init Class"); > > JNIDate jd = new JNIDate(); > System.err.println("call methode: "); > s = jd.getDate(in0, in1); > System.err.println("finnished: " + s); > } catch (Exception ex) { > System.err.println(ex.getStackTrace().toString()); > ex.printStackTrace(); > } > > return s; > } > > public java.lang.String getVersion() throws java.rmi.RemoteException > { > return "1.0"; > } > > public java.lang.String getEnv() throws java.rmi.RemoteException { > // return System.getProperty("java.library.path"); > return AxisProperties.getProperty("java.library.path"); > } > > } > > the Class-JNIDate: > > class JNIDate { > > static { System.loadLibrary("JNIDate"); } > > public native String getJNIDate(String Server, int Port ); > > public String getDate(String Server, int Port) { > String s; > try { > System.err.println("call"); > s= getJNIDate(Server,Port); > System.err.println(s); > return s; > } catch (Exception e) { > System.err.println("Exeption!!!!"); > e.printStackTrace(); > return (String)(e.getMessage() + "\n : > "+e.getCause().toString()); > } > } > } > > > the output on Tomcat-console: > init class > call methode > call > > there is no exception in logs or on console > > > when i call the getEnv - Methode: > The path with my library-dir is shown. > > What i allso tried: > To outcommend the Nativecall and return a simpel string from > JNIDate.getJNIDate -> works fine. > > To write a servlet using the JNIDate.class and call it. -> works > fine! > > So my questions: > > 1.) has anybody allready written a Axis-Service using his own JNI-Class? > 2.) has anybody seen a misstake in the upper code ( maybe i'm > "codeblinde" - and it's a simple error, so I read over it many times )? > 3.) Has anyone a sample - I can try in my enviroment? > > Thanks > Harry >
