[jbossws-issues] [JBoss JIRA] Updated: (JBWS-751) Multiple schema imports with the same namespace

Richard Opalka (JIRA) jira-events at lists.jboss.org
Fri Jan 29 07:43:20 EST 2010


     [ https://jira.jboss.org/jira/browse/JBWS-751?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard Opalka updated JBWS-751:
--------------------------------

    Assignee:     (was: Richard Opalka)


> Multiple schema imports with the same namespace
> -----------------------------------------------
>
>                 Key: JBWS-751
>                 URL: https://jira.jboss.org/jira/browse/JBWS-751
>             Project: JBoss Web Services
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: tools-jaxrpc
>            Reporter: Thomas Diesler
>             Fix For: jbossws-native-3.3.1
>
>
> 	<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)
>          {
>             URL currLoc = this.getLocationURL(wsdlLoc, schemaLocation);
>             schemaLocationsMap.put(namespace, currLoc);
>          }
>          else
>          {
>             log.warn("Skip invalid schema import: [namespace=" + namespace + ",schemaLocation=" + schemaLocation + "]");
>          }
>       }
>    }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbossws-issues mailing list