0

I am trying to set up On Demand Server in my local machine and when ever I am deploying the application on tomcat server I am getting below error message on browser. I have updated the PATH variable also.

root cause

java.lang.UnsatisfiedLinkError: ars3wapi32 (Not found in java.library.path)
  java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1007)
  java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:971)
  java.lang.System.loadLibrary(System.java:470)
  com.ibm.edms.od.ArsWWWInterface.<clinit>(ArsWWWInterface.java:15)
  java.lang.J9VMInternals.initializeImpl(Native Method)
  java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
  com.ibm.edms.od.ODServer.<init>(ODServer.java:45)
  com.ibm.edms.od.ODServer.<init>(ODServer.java:61)
  com.uklife.web.ondemand.utils.DownloadUtils.getAFPDocumentFromOnDemand(DownloadUtils.java:80)
  com.uklife.web.ondemand.utils.Utils.getDocument(Utils.java:288)
  com.uklife.web.ondemand.servlet.OnDemandDocAccess.doGet(OnDemandDocAccess.java:81)
  javax.servlet.http.HttpServlet.s`enter code here`ervice(HttpServlet.java:621)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:722

)

  • Can you try the reference url from IBM? http://www-01.ibm.com/support/docview.wss?uid=swg21512339? You are sure the file location must be in the your PATH variable? – tommybee Sep 29 '17 at 03:20
  • Yes The ODWEK parth and the jar path is present in the system PATH variable. Will check with this site. Please suggest if any solution. – Deepika Bhabal Sep 29 '17 at 05:14
  • Please, check the ars3wapi32.dll file exists in your path variable. set the java.library.path in the catalina.sh or catalina.bat file at the end of the line with '-Djava.libaray.path=' – tommybee Sep 29 '17 at 05:28
  • And tell me what will happen? – tommybee Sep 29 '17 at 05:29
  • ars3wapi32.dll this is present in directory. I have set this value in catalina.sh file. Post that if I restart the server and hist the URL i am getting two errors now as below – Deepika Bhabal Sep 29 '17 at 07:03
  • 1) java.lang.NoClassDefFoundError: com.ibm.edms.od.ArsWWWInterface (initialization failure) 2)root cause java.lang.UnsatisfiedLinkError: ars3wapi32 (Not found in java.library.path) – Deepika Bhabal Sep 29 '17 at 07:04
  • this first one is resolved by copy the /opt/ondemand/www/servlets/ArsSVTInterface.class to /opt/ondemand/www/api directory. But once I reload the browser or hit URL multiple times, I could see 1st error only not the second one(ava.lang.UnsatisfiedLinkError: ars3wapi32) – Deepika Bhabal Sep 29 '17 at 07:05
  • first, you run the catalina script then check the java.library.path using System.out.println(System.getProperty("java.library.path)); then copy your ars3wapi32.dll to one of directories which is from the output. – tommybee Sep 29 '17 at 07:10
  • but it's wierd, why does the name of script is a catalina.sh not a catalina.bat? you have to edit a catalina.bat anyway.. – tommybee Sep 29 '17 at 07:12
  • How do we run catalina script? By running catalina.bat? – Deepika Bhabal Sep 29 '17 at 07:17
  • just type 'catalina.bat run' on the command line prompt. – tommybee Sep 29 '17 at 07:25
  • Tried pasting this dll in any one of the directory mentioned in PATH variable, now I am receiving both errors in root cause – Deepika Bhabal Sep 29 '17 at 13:24

1 Answers1

1

Here is a guide the solution (for Windows and OnDemand V9.5). First of all, you need to install ODWEK on the machine where you want to run your java app. Please install in the default folder, this whole thing is tricky enough as it is...

  • Set the environment variable "PATH" in Windows, add "C:\Program Files\IBM\OnDemand\V9.5\bin"
  • Set CLASSPATH in your development environment - point out the ODApi.jar file and ALSO point "Native library..." to the \bin folder above. (You can also call the program and setting the CLASSPATH in the call as a parameter: -Djava.library.path="C:\Program Files\IBM\OnDemand\V9.5\www\api\ODapi.jar"
  • Copy the file ars3wapi64.dll from C:\Program Files\IBM\V9.5\www to C:\Program Files\IBM\OnDemand\V9.5\bin
  • Ensure that all of these files are in the bin-catalog above:

    **ars3wapi64.dll**
    icudt53.dll
    icuin53.dll
    icuio53.dll
    icule53.dll
    iculx53.dll
    icuuc53.dll
    arsgsk64.dll
    

If you are getting the error "java.lang.UnsatisfiedLinkError: ars3wapi32 (Not found in java.library.path)" one of the above is most likely incorrect.

OR you could be using different versions of ODWEK and OnDemand.

More on how to set CLASSPATH in Eclipse: How to set the java.library.path from Eclipse

LJB
  • 23
  • 5