private void fixSchema(Schema sc, String pfx) throws ParserConfigurationException { Document doc = DOMUtils.getEmptyDocument(); Element el = doc.createElementNS(sc.getElementType().getNamespaceURI(), pfx + ":" + sc.getElementType().getLocalPart()); sc.setElement(el); Map<String, List<String>> mp = CastUtils.cast(sc.getImports()); for (Map.Entry<String, List<String>> ent : mp.entrySet()) { Element imp = doc.createElementNS(sc.getElementType().getNamespaceURI(), pfx + ":import"); el.appendChild(imp); imp.setAttribute("namespace", ent.getKey()); } }
if (o instanceof Schema) { Schema unknownExtensibilityElement = (Schema) o; QName elementType = unknownExtensibilityElement.getElementType(); if (new QName("http://www.w3.org/2001/XMLSchema", "schema").equals(elementType)) { Element element = unknownExtensibilityElement.getElement();
if (extensibilityElement instanceof Schema) { final Schema unknownExtensibilityElement = (Schema) extensibilityElement; final QName elementType = unknownExtensibilityElement.getElementType(); if (new QName("http://www.w3.org/2001/XMLSchema", "schema").equals(elementType)) { final Element element = unknownExtensibilityElement.getElement();
private void fixTypes(Definition wsdlDef) throws ParserConfigurationException { Types t = wsdlDef.getTypes(); if (t == null) { return; } List<ExtensibilityElement> l = CastUtils.cast(t.getExtensibilityElements()); if (l == null) { return; } for (ExtensibilityElement e : l) { if (e instanceof Schema) { Schema sc = (Schema)e; String pfx = wsdlDef.getPrefix(sc.getElementType().getNamespaceURI()); if (StringUtils.isEmpty(pfx)) { pfx = "xsd"; String ns = wsdlDef.getNamespace(pfx); int count = 1; while (!StringUtils.isEmpty(ns)) { pfx = "xsd" + count++; ns = wsdlDef.getNamespace(pfx); } wsdlDef.addNamespace(pfx, sc.getElementType().getNamespaceURI()); } if (sc.getElement() == null) { fixSchema(sc, pfx); } } } }