2011/11/5 Aki Yoshida <elak...@googlemail.com>: > 2011/11/5 Daniel Kulp <dk...@apache.org>: >> >> It's a bug in Aries: >> >> https://issues.apache.org/jira/browse/ARIES-626 > > Thanks for this info. I also noticed this issue. The solution will > probably require some kind of catalog files like spring has, I > suppose. I can wait for this fix, as I can look for a wifi spot to > avoid this issue until it's fixed. > > In contrast, the issue that I described is somewhat different (it > could be trivial). It's kind of the opposite problem. Having the > network connection, I can load all remote schemas set in the > includes/imports using their absolute URLs. But I cannot load locally > available schemas using their relative URLs, as sometimes done in some > of the spring versions of cxf schemas.
I read the Aris ticket again and noticed that the relative path problem was also mentioned in the comment section. So, until this relative-path issue is resolved, I could just physically include the included schemas for relative-inlcudes and use the absolute URLs for relative-imports (and refer to this aris ticket). For ws-rm, there is one relative include and one relative import. So, it won't be too much. regards, aki > > regards, aki > > >> >> >> 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 >> >