You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-dev@xerces.apache.org by "Michael Glavassevich (JIRA)" <xe...@xml.apache.org> on 2007/05/17 06:06:16 UTC

[jira] Resolved: (XERCESJ-1251) XSLoader can not import soap xsd

     [ https://issues.apache.org/jira/browse/XERCESJ-1251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Glavassevich resolved XERCESJ-1251.
-------------------------------------------

    Resolution: Invalid

This isn't a bug. Xerces hasn't been given any information about where the imported schema is. You either need to add a schemaLocation to the import or write an LSResourceResolver (which you would set on the XSLoader) [1] that resolves the import based on the target namespace.

[1] http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040309/xml-schema-api.html#XSLoader-Configuration

> XSLoader can not import soap xsd
> --------------------------------
>
>                 Key: XERCESJ-1251
>                 URL: https://issues.apache.org/jira/browse/XERCESJ-1251
>             Project: Xerces2-J
>          Issue Type: Bug
>          Components: XML Schema API
>    Affects Versions: 2.9.0
>         Environment: windows xp professional
>            Reporter: rajesh dubey
>
> I am trying to create a XSModel of schema
> <?xml version="1.0" encoding="UTF-8"?>
>   <schema targetNamespace="urn:services.processmanager.ejbtech.com" 
> 	xmlns="http://www.w3.org/2001/XMLSchema" 
> 	xmlns:apachesoap="http://xml.apache.org/xml-soap" 
> 	xmlns:impl="urn:services.processmanager.ejbtech.com" 
> 	xmlns:intf="urn:services.processmanager.ejbtech.com" 
> 	xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
> 	xmlns:tns1="urn:processengine.ejbtech.com" 
> 	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
> 	xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" 
> 	xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> 	<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
>    <complexType name="PMServiceException">
>     <sequence>
>      <element name="errorID" nillable="true" type="xsd:string"/>
>      <element name="message" nillable="true" type="xsd:string"/>
>     </sequence>
>    </complexType>
>    <complexType name="ArrayOf_xsd_string">
>     <complexContent>
>      <restriction base="soapenc:Array">
>       <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
>      </restriction>
>     </complexContent>
>    </complexType>
>   </schema>
> using code
> 		System.setProperty(DOMImplementationRegistry.PROPERTY,
> 	      "org.apache.xerces.dom.DOMXSImplementationSourceImpl");
> //	 get an instance of DOMImplementationRegistry         
> 	DOMImplementationRegistry registry = 
> 	   DOMImplementationRegistry.newInstance();
> //	 retrieve an implementation that supports XSImplmenetation 
> //	 by specifying "XS-Loader" feature  
> 	XSImplementation impl = (XSImplementation) registry.getDOMImplementation("XS-Loader");
> //	 create XSLoader
> 	XSLoader schemaLoader = impl.createXSLoader(null);
> 	
> 	XSModel model = schemaLoader.loadURI(args[0]);
> loadURI errors out with message "[Error] pmService.xml:21:40: src-resolve: Cannot resolve the name 'soapenc:Array' to a(n) 'type definition' component."
> Now if i download the soap schema on my local box and remove the comment in the schema file which is at the very top and provide that schema using schemaLocation attribute it works.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: j-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: j-dev-help@xerces.apache.org