Back in the old times, the Sun Java dev. toolkit (v2.x) used to have a stub generator tool, but no longer in 3.x versions. I can still use the old generator, but it is very picky when it comes to input WSDL files, and the errors generated do not contain any useful info to fix the WSDLs. The company that develops the SOAP WS is providing me with WSDLs not compatible with JSR-172, and I need to prove I’m using the the last official tool available to show there’s no problem on our side.

I have installed the last reliable version of JavaME SDK (3.4) available at Oracle’s site. These 3.x versions do not include an IDE, instead they provide plugins for Netbeans and Eclipse. I’m an Eclipse person, but I’ve opted for the Netbeans approach because looks easier to configure.

So I’ve downloaded the last Netbeans version (7.4). I’ve downloaded the bare-minimum JavaSE only version, then installed the mobility plugin for JavaME (Last time I needed to install Netbeans, you had to install the full JavaEE IDE plus GlashFish servers, etc. So glad to know they now offer the option not to install the full IDE).

Added the JavaME SDK v3.4 in platforms, but it does not detect it automatically. I was forced to configure a custom platform, but then the ant build failed. To solve this, I’ve installed the JavaME SDK v3.2 as well, which is detected by Netbeans out-of-the-box and builds fine.

You might think the stub generator tool would be available by now. Wrong!. You still have to go and install the “SOAP Web Services” netbeans plugin, which in turn installs a ton of other dependent plugins (by now the lightweight JavaSE install has become the bloated JavaEE-ready IDE that Netbeans has always been).

So then I created a basic JavaME project. Right-clicked over Source packages, then selected “New” -> “Java ME Web Services Client”. The stub generator dialog is finally shown (and it looks pretty much like the old Sun Java CLDC 2.5.2 tool). I select the WSDL input file, type the client name and package name, and also ticked the “Generate databindings structures” checkbox (which I don’t know what the heck it is for, but suffice to say I’ve tried both w/ and w/o this option selected and the result is the same).

Then I click the Finish button and only a .wsclient file (along with the imported wsdl file) is created. What is the purpose of this file? But most importantly, where are the .java or .class files? They are nowhere in the project folder!


  • Is it possible to generate JSR-172 stubs using Netbeans?
  • If not, is it possible to do this using the Eclipse JavaME plugin?