public static void main(String[] args) {
		if(args.length != 1){
			System.out.println("Invalid number of parameters. Application will exit.");
			System.exit(0);
		}
		try{
			WSDLDomParser wsdlParser = new WSDLDomParser(args[0]);
			System.out.println("Service name: " + wsdlParser.getServiceName());
			System.out.println("The root element is " + wsdlParser.getRootElement());
			showPorts(wsdlParser.getPorts());
			Element methodElement;
			System.out.println();
			System.out.println("====== WEBMETHODS ======");
			for (Entry<Node, Map<String, Map<String, NodeList>>> entry : wsdlParser.getOperationsMap().entrySet()) {
				methodElement = (Element)entry.getKey();
				System.out.println("Webmethod: " + methodElement.getAttribute("name"));
				System.out.println("Parameters:");
				showParameters(entry, "input");
				System.out.println("Returns:");
				showParameters(entry, "output");
			}
			System.out.println("======= TYPES =======");
			for(Entry<String, NodeList> typeEntry : wsdlParser.getComplexTypeMap().entrySet()){
				String typeName = typeEntry.getKey();
				System.out.println("Typename: " + typeName);
				System.out.println("Fields: ");
				showFields(typeEntry);
			}
		}
		catch (SAXParseException err) {
			System.out.println ("** Parsing error" + ", line " 
					+ err.getLineNumber () + ", uri " + err.getSystemId ());
			System.out.println(" " + err.getMessage ());

		}catch (SAXException e) {
			Exception x = e.getException ();
			((x == null) ? e : x).printStackTrace ();

		}catch (Throwable t) {
			t.printStackTrace ();
		}

	}