Hi,
I'm currently working on an eclipse plugin allowing me to right-click a
WSDL file in a project and following, to generate the WS stubs by
selecting a menu item which triggers the code generation (actually, the
same as wsdl2java on the command line).
I'm facing no errors are any similar stuff, but every time I want to
generate some code, only the needed build.xml file is generated, no
errors or exceptions are thrown.
For the ease of understanding I will post party of the source:
Map<String, CommandLineOption> optionsMap =
initializeGeneratorProperties();
AxisService service = WSAdapterGeneratorUtil
.getAxisService(WSDLFile);
CodeGenConfiguration codegenConfig = new
CodeGenConfiguration(
optionsMap);
codegenConfig.setAxisService(service);
WSDLReader reader = WSDLFactory.newInstance()
.newWSDLReader();
codegenConfig.setWsdlDefinition(reader.readWSDL(WSDLFile));
codegenConfig.setBaseURI(WSAdapterGeneratorUtil
.getBaseUri(WSDLFile));
new CodeGenerationEngine(codegenConfig).generate();
The above excerpt shows from my point of view the proper way of doing so
(generating code). Below is the source of the
initializeGeneratorProperties(); method, maybe I'm forgetting about some
options in the optionsMap:
Map<String, CommandLineOption> optionsMap = new HashMap<String,
CommandLineOption>();
optionsMap.put("uri", new CommandLineOption("uri",
new String[] { WSDLFile }));
optionsMap.put("p", new CommandLineOption("p",
new String[] { "at.sample.path" }));
optionsMap
.put("l", new CommandLineOption("l", new String[] {
"java" }));
optionsMap
.put("o", new CommandLineOption("o", new String[] {
genDir }));
optionsMap.put("d", new CommandLineOption("d",
new String[] { "xmlbeans" }));
optionsMap.put("pn", new CommandLineOption("pn",
new String[] { "Soap" }));
Well, as this code is error free (in case of exceptions and errors, I
hope to get some useful help quite soon, as for me, I can't figure out
the small bug or misconfiguration or what else leads to this strange
behaviour, that I won't get any classes to be generated.
Thanks a lot in advance,
Philipp