JAR behaves differently when running in MATLAB - Throws error that cannot be reproduced outside MATLAB

1 view (last 30 days)
I have a pretty basic JAR file that contains a single class. It handles some network stuff, mainly transferring files between a matlab client application and a server. I'm having some weird behavior that I can't quite explain. When I run a request to my server that I expect to return a 404, it works fine when just running a jUnit test in Eclipse. When I import the class into matlab and do the exact same thing I instead get:
??? Java exception occurred:
ice.net.URLNotFoundException: Document not found on server
at ice.net.HttpURLConnection.getInputStream(OEAB)
at ice.net.HttpURLConnection.getResponseCode(OEAB)
at me.openconnecto.OcpUrl.query(OcpUrl.java:34)
This occurres when on the line where I am getting the response code:
this.responseCode = conn.getResponseCode();
I should still be able to get the response code even though I got a 404. Also I'm not using the ice library in my java code, so is MATLAB doing that instead of use just plain java.io*? Any tips from the java-matlab wiz's out there would be appreciated.

Answers (1)

Malcolm Lidierth
Malcolm Lidierth on 24 Sep 2012
Are you using the same ice.net jar file in Eclipse & MATLAB? It ships with and is on the ML static jar path. Many jars shipped with MATLAB are legacy versions.
ice.net.URLNotFoundException sounds like a suitable exception to throw for 404.
  2 Comments
Dean
Dean on 24 Sep 2012
No I'm just using the normal java.io.net libraries and would prefer to use those. In my class I read the response code and take some action before throwing an exception. I can try-catch around it, but it's kind of kludgy...is there a way to force MATLAB to not use the ice.net libraries?

Sign in to comment.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!