01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one
03: * or more contributor license agreements. See the NOTICE file
04: * distributed with this work for additional information
05: * regarding copyright ownership. The ASF licenses this file
06: * to you under the Apache License, Version 2.0 (the
07: * "License"); you may not use this file except in compliance
08: * with the License. You may obtain a copy of the License at
09: *
10: * http://www.apache.org/licenses/LICENSE-2.0
11: *
12: * Unless required by applicable law or agreed to in writing,
13: * software distributed under the License is distributed on an
14: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15: * KIND, either express or implied. See the License for the
16: * specific language governing permissions and limitations
17: * under the License.
18: */
19: package org.apache.ws.java2wsdl;
20:
21: import org.apache.ws.java2wsdl.utils.Java2WSDLCommandLineOptionParser;
22: import org.apache.ws.java2wsdl.utils.Java2WSDLOptionsValidator;
23:
24: public class Java2WSDL {
25: public static void main(String[] args) {
26: Java2WSDLCommandLineOptionParser commandLineOptionParser = new Java2WSDLCommandLineOptionParser(
27: args);
28: // validate the arguments
29: validateCommandLineOptions(commandLineOptionParser);
30: try {
31: new Java2WSDLCodegenEngine(commandLineOptionParser
32: .getAllOptions()).generate();
33: } catch (Exception e) {
34: System.out.println("An error occured while generating code"
35: + e.getMessage());
36: }
37: }
38:
39: public static void printUsage() {
40: System.out
41: .println("Usage: java2wsdl [options] -cn <fully qualified class name>");
42: System.out.println("\nwhere [options] include:");
43: System.out
44: .println(" -o <output location> output directory");
45: System.out
46: .println(" -of <output file name> output file name for the WSDL");
47: System.out
48: .println(" -sn <service name> service name");
49: System.out
50: .println(" -l <soap address> address of the port for the WSDL");
51: System.out
52: .println(" -cp <class path uri> list of classpath entries - (urls)");
53: System.out
54: .println(" -tn <target namespace> target namespace for service");
55: System.out
56: .println(" -tp <target namespace prefix> target namespace prefix for service");
57: System.out
58: .println(" -stn <schema target namespace> target namespace for schema");
59: System.out
60: .println(" -stp <schema target namespace prefix> target namespace prefix for schema");
61: System.out
62: .println(" -st <binding style> style for the WSDL");
63: System.out
64: .println(" -u <binding use> use for the WSDL");
65: System.out
66: .println(" -nsg <class name> fully qualified name of a class that implements NamespaceGenerator");
67: System.out
68: .println(" -sg <class name> fully qualified name of a class that implements SchemaGenerator");
69: System.out
70: .println(" -p2n [<java package>,<namespace] [<java package>,<namespace]... ");
71: System.out
72: .println(" java package to namespace mapping for argument and return types");
73: System.out
74: .println(" -p2n [all, <namespace>] to assign all types to a single namespace");
75: System.out
76: .println(" -efd <qualified/unqualified> setting for elementFormDefault (defaults to qualified)");
77: System.out
78: .println(" -afd <qualified/unqualified> setting for attributeFormDefault (defaults to qualified)");
79: System.out
80: .println(" -xc class1 -xc class2... extra class(es) for which schematype must be generated. ");
81: System.out
82: .println(" -wv <1.1/2.0> wsdl version - defaults to 1.1 if not specified");
83: System.out
84: .println(" -dlb generate schemas conforming to doc/lit/bare style");
85: System.exit(0);
86: }
87:
88: private static void validateCommandLineOptions(
89: Java2WSDLCommandLineOptionParser parser) {
90: if (parser.getAllOptions().size() == 0) {
91: printUsage();
92: } else if (parser.getInvalidOptions(
93: new Java2WSDLOptionsValidator()).size() > 0) {
94: printUsage();
95: }
96:
97: }
98:
99: }
|