Olivier Lefevre wrote: > Re. the earlier problem, here is what I found: > 1) custom classes in their own package and in their own jar > under WEB-INF/lib: ClassNotFoundException > 2) custom classes in their own package and in their own jar or > aar under WEB-INF/services: ClassNotFoundException; note that > in this case you must include a services.xml files (I used > an empty one, i.e., just <serviceGroup/>) in the jar or aar > file, otherwise Axis will complain about that as well > 3) custom classes in their own package and in core.aar: works! > 4) custom classes in net/sf/basedb/ws/server and therefore in > core.aar: works but it is a last-resort option > So I am reasonably happy with 4): the worst scenario is that > you have to unpack and then repack third-party jars. >
I made some quick investigations as well and it seems like each .aar file has it's own class loader (created by Axis). The parent class loader is the regular Tomcat class loader which means that classes in an .aar file can only use classes that are in the same .aar file or classes in the WEB-INF/lib/ directory. Classes in the WEB-INF/lib/ directory can't use classes from any .aar file because those files are not known by the Tomcat class loader. This is described as a feature since it means that an .aar file can be replaced with a new version and deployed without having to restart the web application. So, since the ServicesUtil class is found in the core.aar file it means that it can only be used by other classes in core.aar. >> I don't see how it would be possible to return any >> structured information as simple strings. > > One could use JSON or even XML. I have heard the name JSON but didn't know that it had to do with web services. Regarding XML, everything is already sent as XML which is unwrapped and converted to Java objects by Axis. I have seen code examples (from the Axis tutorial) were the response is accessed as XML instead so I think that option is already available. Just because it is Java objects on the server side doesn't mean that it has to be the same objects on the client side (but it is convenient). /Nicklas ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ basedb-devel mailing list basedb-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/basedb-devel