if (ctPackage != null && wsdlDefMap.get(ctPackage) == null){
String targetNamespace = ctPackage.getQualifiedName();
targetNamespace = targetNamespace.replaceAll("\\s", "");
String prefix = "ns" + namespaceCounter++;
Definition wsdlDef = WSDLFactory.eINSTANCE.createDefinition();
wsdlDef.addNamespace(XML_SCHEMA_NAMESPACE_PREFIX, WSDLConstants.SCHEMA_FOR_SCHEMA_URI_2001);// org.apache.ws.commons.schema.constants.Constants.URI_2001_SCHEMA_XSD);
wsdlDef.addNamespace(WSDL_PREFIX,WSDL_NAMESPACE);
wsdlDef.addNamespace(prefix, targetNamespace);
wsdlDef.setTargetNamespace(targetNamespace);
wsdlDef.setQName(new QName(targetNamespace,"",prefix));
wsdlNsPrefixMap.put(targetNamespace, prefix);
wsdlDependencies.put(wsdlDef, new Vector<XSDSchema>());
XSDSchema schema = XSDFactory.eINSTANCE.createXSDSchema();
schema.setTargetNamespace(wsdlDef.getTargetNamespace());
schema.setSchemaForSchemaQNamePrefix(XML_SCHEMA_NAMESPACE_PREFIX);
java.util.Map qNamePrefixToNamespaceMap = schema.getQNamePrefixToNamespaceMap();
qNamePrefixToNamespaceMap.put(schema.getSchemaForSchemaQNamePrefix(),
XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001);
qNamePrefixToNamespaceMap.put(wsdlNsPrefixMap.get(wsdlDef.getTargetNamespace()), wsdlDef.getTargetNamespace());
schema.setElementFormDefault(XSDForm.get(XSDForm.QUALIFIED));
schema.setAttributeFormDefault(XSDForm.get(XSDForm.QUALIFIED));
Types types = WSDLFactory.eINSTANCE.createTypes();
XSDSchemaExtensibilityElement xsdExtElement = WSDLFactory.eINSTANCE.createXSDSchemaExtensibilityElement();
xsdExtElement.setSchema(schema);
wsdlDef.setTypes(types);
types.addExtensibilityElement(xsdExtElement);
types.getSchemas().add(schema);
wsdlTypesSchemaMap.put(wsdlDef, schema);
wsdlDefMap.put(ctPackage, wsdlDef);