Is a there a need to recompile java services

I have a set of Java Services in a DEV environment and transport the package to QA and then to PRD. If i were to create and send the release over BC Admin to the QA or PRD servers, and then try running the Java services it requests me to recompile them. Unfortunately, i cannot compile on the QA and PRD environment, since java has been 'wantedly ’ taken off the path as the admin staff here do not want any development activity to be done either on QA or PRD environments…

Could not run the service ‘blahblahblah’. [B2BSERV.0026.9102] Service ‘blahblahblah.blah.blah:blahblah’ is not operational. To run this service, first recompile the Java source.

I’m kind of confused…Is Java required to be in path to have the java services running…even though you may not want to compile? Is there anyone out there whose org has followed similar practice to get rid of JDk from the path?


Krishnan - There are two aspects to Java - the compiler (which comes in the JDK) and the runtime environment (commonly called the JRE). webMethods always needs the JRE to run, but only needs the JDK on dev machines where you compile Java services. It looks like your sysadmins have locked down your QA and Production machines by installing only the JRE on it - this is fine. (Actually I have a side question – can you compile flow services on your QA and Prod servers).

The real problem lies with a bug in IS Developer. This bug occurs when you ‘move’ a Java class by either ‘dragging & dropping’, or ‘cutting & pasting’ WM services in developer – somehow the moved Java class runs fine on the dev environment, but isn’t been compiled in the folders it has been moved to. I reported this bug with IS Developer 4.6 a couple of weeks ago and a nice WM PS guy (thanks James!) nailed it.

The workaround is:

  1. On your dev machine, put a space or something in the Java source for the services with the problem.
  2. CTRL+S to force a recompile.
  3. Now re-release the re-compiled packages to the QA/Prod machines. It should work this time.

Dear All,
I developed a java service in the development and tranferred to the production server, when executed it gave me the error message that the the class file was not there, i tried as mentioned above by saving, if you dont have java installed and the classpath of javac in the PATH variavle coompilation will not happen that same happend for me, so i copied the class file which was generated in the developement to the production and teh service is runing fine.

Kulandai George.

Kulandai George,

As sonam said there are 2 aspects of java-compiler. Suppose if you are copying the class files from WmSamples package in the development machine to your package, it works fine as the class that is being refered inside the java service is present in the development environment. If you move your package and not the WmSamples package to the production enviroment then you notice such type of errors, hence when you are copying java services from other packages which wont be there in the production one has to be very careful in moving the java services as those class files are also to be moved.