-
Bug
-
Resolution: Obsolete
-
Major
-
None
-
None
-
None
<types>
<xs:schema>
<xs:import namespace="uri:tranHistory" schemaLocation="TransactionHistoryRq.xsd"/>
<xs:import namespace="uri:tranHistory" schemaLocation="TransactionHistoryRs.xsd"/>
<xs:import namespace="uri:tranHistory" schemaLocation="StatusRs.xsd"/>
</xs:schema>
</types>
Current handling of schema imports is incorrect, since it does not allow for multiple imports with the same namespace.
private void handleSchemaImports(Element schemaEl, URL wsdlLoc) throws MalformedURLException
{
if (wsdlLoc == null)
throw new IllegalArgumentException("Cannot process import, parent location not set");
Iterator it = DOMUtils.getChildElements(schemaEl, new QName(Constants.NS_SCHEMA_XSD, "import"));
while (it.hasNext())
{
Element includeEl = (Element)it.next();
String schemaLocation = includeEl.getAttribute("schemaLocation");
String namespace = includeEl.getAttribute("namespace");
log.trace("handleSchemaImport: [namespace=" + namespace + ",schemaLocation=" + schemaLocation + "]");
// Skip, let the entity resolver resolve these
if (namespace.length() > 0 && schemaLocation.length() > 0)
else
{ log.warn("Skip invalid schema import: [namespace=" + namespace + ",schemaLocation=" + schemaLocation + "]"); } }
}