It's a bug in Aries: https://issues.apache.org/jira/browse/ARIES-626
Something on my todo list to fix once things calm down a bit for me with other work related things. Dan On Friday, November 04, 2011 8:00:06 PM Aki Yoshida wrote: > Hi, > Sorry for the long subject. I didn't know how to describe the problem > better. > > I was wondering if you need to do something extra to be able to import > or include a schema located at some relative path when you let the > blueprint namespace handler fetch the parent schema. > > I wanted to make the ws-rm component also blueprint-ready. It is > working fine except that I cannot seem to be able to use a relative > path in the schemaLocation attribute of the blueprint version of the > schema. > > Concretely, I am having this problem with the following two lines in > the blueprint version of wsrm-manager.xsd. > > <xs:include schemaLocation="wsrm-manager-types.xsd"/> > <xs:import namespace="http://schemas.xmlsoap.org/ws/2005/02/rm/policy" > schemaLocation="wsrm-policy.xsd"/> > > I am getting the following exception when I start a blueprint bundle > using this feature: > > 2011-11-04 19:33:01,550 | ERROR | rint Extender: 1 | > BlueprintContainerImpl | container.BlueprintContainerImpl > 358 | 9 - org.apache.aries.blueprint - 0.3.1 | Unable to start > blueprint container for bundle tmp.test-cxf-wsrm-provider-bp > org.xml.sax.SAXParseException: src-resolve: Cannot resolve the name > 'tns:deliveryAssurance' to a(n) 'element declaration' component. > at > com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseE > xception(ErrorHandlerWrapper.java: 195)[:1.6.0_24] > at > com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHand > lerWrapper.java:131)[:1.6.0_24] at > com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErr > orReporter.java:384)[:1.6.0_24] at > com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSche > maErr(XSDHandler.java:2537)[:1.6.0_24] at > com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSche > maError(XSDHandler.java:2528)[:1.6.0_24] at > com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getGlobalD > ecl(XSDHandler.java:1472)[:1.6.0_24] at > com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDElementTraverser.t > raverseLocal(XSDElementTraverser.java:160)[:1.6.0_24] at > com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseLo > calElements(XSDHandler.java:2049)[ > :1.6.0_24] > > at > com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchem > a(XSDHandler.java:582)[:1.6.0_24] at > com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSc > hemaLoader.java:552)[:1.6.0_24] at > com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLS > chemaLoader.java:519)[:1.6.0_24] at > com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLS > chemaLoader.java:485)[:1.6.0_24] at > com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.newSche > ma(XMLSchemaFactory.java:211)[:1.6.0_24] at > org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl.getSchema > (NamespaceHandlerRegistryImpl.java > :243)[9:org.apache.aries.blueprint:0.3.1] > > at > org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl$Namespace > HandlerSetImpl.getSchema(NamespaceHandlerRegistryImpl.java:329)[9:org.apache > .aries.blueprint:0.3.1] at > org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(Blueprint > ContainerImpl.java:275)[9:org.apache.aries.blueprint:0.3.1] at > org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintCo > ntainerImpl.java:227)[9:org.apache.aries.blueprint:0.3.1] ... > > > When I inline the included schema and also replace the rm-policy > schema's relative path with the external rm-policy location > "http://schemas.xmlsoap.org/ws/2005/02/rm/wsrm-policy.xsd", it is > working fine. > > This problem has probably something to do with the parser setting. > Maybe, it is a simple thing. But I was not able to figure it out. The > same problem is not happening with spring, maybe because spring uses > its catalog files to read all the schemas (but for the include's, it > should be relying on the same parser mechanism, so this is strange.). > > If someone has some idea to resolve this problem, that would be very > appreciated. > > Thanks. > > regards, aki -- Daniel Kulp dk...@apache.org http://dankulp.com/blog Talend - http://www.talend.com