📄 java2wsdl.java
字号:
status = false; break; case OUTPUT_WSDL_MODE_OPT: String modeArg = option.getArgument(); if ("All".equalsIgnoreCase(modeArg)) { mode = Emitter.MODE_ALL; } else if ("Interface".equalsIgnoreCase(modeArg)) { mode = Emitter.MODE_INTERFACE; } else if ("Implementation".equalsIgnoreCase(modeArg)) { mode = Emitter.MODE_IMPLEMENTATION; } else { mode = Emitter.MODE_ALL; System.err.println(Messages.getMessage("j2wmodeerror", modeArg)); } break; case OUTPUT_OPT: wsdlFilename = option.getArgument(); break; case INPUT_OPT: emitter.setInputWSDL(option.getArgument()); break; case OUTPUT_IMPL_OPT: wsdlImplFilename = option.getArgument(); break; case PACKAGE_OPT: String packageName = option.getArgument(0); String namespace = option.getArgument(1); namespaceMap.put(packageName, namespace); break; case NAMESPACE_OPT: emitter.setIntfNamespace(option.getArgument()); break; case NAMESPACE_IMPL_OPT: emitter.setImplNamespace(option.getArgument()); break; case SERVICE_ELEMENT_NAME_OPT: emitter.setServiceElementName(option.getArgument()); break; case SERVICE_PORT_NAME_OPT: emitter.setServicePortName(option.getArgument()); break; case LOCATION_OPT: emitter.setLocationUrl(option.getArgument()); locationSet = true; break; case LOCATION_IMPORT_OPT: emitter.setImportUrl(option.getArgument()); break; case METHODS_NOTALLOWED_OPT: emitter.setDisallowedMethods(option.getArgument()); break; case PORTTYPE_NAME_OPT: emitter.setPortTypeName(option.getArgument()); break; case BINDING_NAME_OPT: emitter.setBindingName(option.getArgument()); break; case STOP_CLASSES_OPT: emitter.setStopClasses(option.getArgument()); break; case TYPEMAPPING_OPT: value = option.getArgument(); typeMappingVersion = value; break; case SOAPACTION_OPT: value = option.getArgument(); if (value.equalsIgnoreCase("DEFAULT")) { emitter.setSoapAction("DEFAULT"); } else if (value.equalsIgnoreCase("OPERATION")) { emitter.setSoapAction("OPERATION"); } else if (value.equalsIgnoreCase("NONE")) { emitter.setSoapAction("NONE"); } else { System.out.println( Messages.getMessage("j2wBadSoapAction00")); status = false; } break; case STYLE_OPT: value = option.getArgument(); if (value.equalsIgnoreCase("DOCUMENT") || value.equalsIgnoreCase("RPC") || value.equalsIgnoreCase("WRAPPED")) { emitter.setStyle(value); } else { System.out.println(Messages.getMessage("j2woptBadStyle00")); status = false; } break; case USE_OPT: value = option.getArgument(); if (value.equalsIgnoreCase("LITERAL") || value.equalsIgnoreCase("ENCODED")) { emitter.setUse(value); } else { System.out.println(Messages.getMessage("j2woptBadUse00")); status = false; } break; case EXTRA_CLASSES_OPT: try { emitter.setExtraClasses(option.getArgument()); } catch (ClassNotFoundException e) { System.out.println(Messages.getMessage("j2woptBadClass00", e.toString())); status = false; } break; case IMPORT_SCHEMA_OPT: emitter.setInputSchema(option.getArgument()); break; case CLASSPATH_OPT: ClassUtils.setDefaultClassLoader(ClassUtils.createClassLoader( option.getArgument(), this.getClass().getClassLoader())); break; case DEPLOY_OPT: isDeploy = true; break; default : break; } return status; } /** * validateOptions * This method is invoked after the options are set to validate * the option settings. * * @return */ protected boolean validateOptions() { // Can't proceed without a class name if ((className == null)) { System.out.println(Messages.getMessage("j2wMissingClass00")); printUsage(); return false; } if (!locationSet && ((mode == Emitter.MODE_ALL) || (mode == Emitter.MODE_IMPLEMENTATION))) { System.out.println(Messages.getMessage("j2wMissingLocation00")); printUsage(); return false; } return true; // a-OK } /** * run * checks the command-line arguments and runs the tool. * * @param args String[] command-line arguments. * @return */ protected int run(String[] args) { // Parse the arguments CLArgsParser argsParser = new CLArgsParser(args, options); // Print parser errors, if any if (null != argsParser.getErrorString()) { System.err.println( Messages.getMessage("j2werror00", argsParser.getErrorString())); printUsage(); return (1); } // Get a list of parsed options List clOptions = argsParser.getArguments(); int size = clOptions.size(); try { // Parse the options and configure the emitter as appropriate. for (int i = 0; i < size; i++) { if (parseOption((CLOption) clOptions.get(i)) == false) { return (1); } } // validate argument combinations if (validateOptions() == false) { return (1); } // Set the namespace map if (!namespaceMap.isEmpty()) { emitter.setNamespaceMap(namespaceMap); } TypeMappingRegistryImpl tmr = new TypeMappingRegistryImpl(); tmr.doRegisterFromVersion(typeMappingVersion); emitter.setTypeMappingRegistry(tmr); // Find the class using the name emitter.setCls(className); // Generate a full wsdl, or interface & implementation wsdls if (wsdlImplFilename == null) { emitter.emit(wsdlFilename, mode); } else { emitter.emit(wsdlFilename, wsdlImplFilename); } if (isDeploy) { generateServerSide(emitter, (wsdlImplFilename != null) ? wsdlImplFilename : wsdlFilename); } // everything is good return (0); } catch (Throwable t) { t.printStackTrace(); return (1); } } // run /** * Generate the server side artifacts from the generated WSDL * * @param j2w the Java2WSDL emitter * @param wsdlFileName the generated WSDL file * @throws Exception */ protected void generateServerSide(Emitter j2w, String wsdlFileName) throws Exception { org.apache.axis.wsdl.toJava.Emitter w2j = new org.apache.axis.wsdl.toJava.Emitter(); File wsdlFile = new File(wsdlFileName); w2j.setServiceDesc(j2w.getServiceDesc()); w2j.setQName2ClassMap(j2w.getQName2ClassMap()); w2j.setOutputDir(wsdlFile.getParent()); w2j.setServerSide(true); w2j.setHelperWanted(true); // setup namespace-to-package mapping String ns = j2w.getIntfNamespace(); String pkg = j2w.getCls().getPackage().getName(); w2j.getNamespaceMap().put(ns, pkg); Map nsmap = j2w.getNamespaceMap(); if (nsmap != null) { for (Iterator i = nsmap.keySet().iterator(); i.hasNext(); ) { pkg = (String) i.next(); ns = (String) nsmap.get(pkg); w2j.getNamespaceMap().put(ns, pkg); } } // set 'deploy' mode w2j.setDeploy(true); if (j2w.getImplCls() != null) { w2j.setImplementationClassName(j2w.getImplCls().getName()); } else { if (!j2w.getCls().isInterface()) { w2j.setImplementationClassName(j2w.getCls().getName()); } else { throw new Exception("implementation class is not specified."); } } w2j.run(wsdlFileName); } /** * printUsage * print usage information and quit. */ protected void printUsage() { String lSep = System.getProperty("line.separator"); StringBuffer msg = new StringBuffer(); msg.append("Java2WSDL " + Messages.getMessage("j2wemitter00")).append(lSep); msg.append( Messages.getMessage( "j2wusage00", "java " + getClass().getName() + " [options] class-of-portType")).append(lSep); msg.append(Messages.getMessage("j2woptions00")).append(lSep); msg.append(CLUtil.describeOptions(options).toString()); msg.append(Messages.getMessage("j2wdetails00")).append(lSep); System.out.println(msg.toString()); } /** * Main * Run the Java2WSDL emitter with the specified command-line arguments * * @param args String[] command-line arguments */ public static void main(String args[]) { Java2WSDL java2wsdl = new Java2WSDL(); System.exit(java2wsdl.run(args)); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -