Hi, I'm generating an XML schema using JAXB and converting it to Relax ng with 
msv GrammarLoader under Felix container.

Following exception is generated and by stepping through the code, here is the 
actual line of code that throws an exception.

Can some one help me on figure out why "Unknown protocol: resource" is thrown 
here?

Thank you.


    private static final ThreadLocal m_loopCheck = new ThreadLocal();
    protected void parseURL(URL url, String spec, int start, int limit)
    {
        Object svc = getStreamHandlerService();
        if (svc == null)
        {
            throw new IllegalStateException(
                "Unknown protocol: " + url.getProtocol());
        }



javax.xml.bind.JAXBException: Couldn't parse auto-generated schema
 - with linked exception:
[java.net.MalformedURLException: Unknown protocol: resource]
        at 
yjava.ws.util.filter.JerseySchemaGenerator.generateRelaxGrammar(JerseySchemaGenerator.java:107)
        at 
yjava.ws.util.filter.WebServiceFilter.sendGrammar(WebServiceFilter.java:472)
        at 
yjava.ws.util.filter.WebServiceFilter.filter(WebServiceFilter.java:391)
        at 
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1310)
        at 
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1239)
        at 
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1229)
        at 
com.yahoo.disc.handler.jersey.JerseyContent.close(JerseyContent.java:188)
        at 
com.yahoo.disc.core.ContainerSnapshot$ContentProxy.close(ContainerSnapshot.java:144)
        at 
com.yahoo.disc.service.http.netty.server.HttpServerRequestHandler.handleHttpRequest(HttpServerRequestHandler.java:294)
        at 
com.yahoo.disc.service.http.netty.server.HttpServerRequestHandler.messageReceived(HttpServerRequestHandler.java:152)
        at 
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
        at 
org.jboss.netty.handler.timeout.IdleStateAwareChannelUpstreamHandler.handleUpstream(IdleStateAwareChannelUpstreamHandler.java:48)
        at 
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
        at 
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)
        at 
yjava.netty.filters.SecurityFilterUpstreamHandler.messageReceived(SecurityFilterUpstreamHandler.java:111)
        at 
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
        at 
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
        at 
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)
        at 
org.jboss.netty.handler.codec.http.HttpContentEncoder.messageReceived(HttpContentEncoder.java:83)
        at 
org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:100)
        at 
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
        at 
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)
        at 
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
        at 
org.jboss.netty.handler.codec.replay.ReplayingDecoder.unfoldAndfireMessageReceived(ReplayingDecoder.java:522)
        at 
org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:506)
        at 
org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:443)
        at 
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
        at 
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
        at 
org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)
        at 
org.jboss.netty.handler.timeout.IdleStateHandler.messageReceived(IdleStateHandler.java:276)
        at 
org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
        at 
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
        at 
org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:540)
        at 
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
        at 
org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
        at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:349)
        at 
org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:280)
        at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:200)
        at 
org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
        at 
org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:44)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: java.net.MalformedURLException: Unknown protocol: resource
        at 
com.sun.msv.reader.util.GrammarLoader$ThrowController.error(GrammarLoader.java:152)
        at com.sun.msv.reader.Controller.error(Controller.java:49)
        at com.sun.msv.reader.Controller.error(Controller.java:49)
        at com.sun.msv.reader.Controller.error(Controller.java:69)
        at com.sun.msv.reader.GrammarReader._parse(GrammarReader.java:461)
        at com.sun.msv.reader.GrammarReader.switchSource(GrammarReader.java:429)
        at com.sun.msv.reader.GrammarReader.switchSource(GrammarReader.java:402)
        at 
com.sun.msv.reader.xmlschema.XMLSchemaReader.switchSource(XMLSchemaReader.java:677)
        at 
com.sun.msv.reader.xmlschema.ImportState.startSelf(ImportState.java:41)
        at com.sun.msv.reader.State.init(State.java:153)
        at com.sun.msv.reader.GrammarReader.pushState(GrammarReader.java:576)
        at com.sun.msv.reader.SimpleState.startElement(SimpleState.java:71)
        at 
org.xml.sax.helpers.XMLFilterImpl.startElement(XMLFilterImpl.java:527)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179)
        at 
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:377)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
        at 
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at 
com.sun.msv.reader.util.GrammarLoader._loadSchema(GrammarLoader.java:514)
        at com.sun.msv.reader.util.GrammarLoader.parse(GrammarLoader.java:325)
        at 
com.sun.msv.reader.util.GrammarLoader.loadSchema(GrammarLoader.java:189)
        at 
com.sun.msv.reader.util.GrammarLoader.loadSchema(GrammarLoader.java:236)
        at 
yjava.ws.util.filter.JerseySchemaGenerator.generateRelaxGrammarDoc(JerseySchemaGenerator.java:164)
        at 
yjava.ws.util.filter.JerseySchemaGenerator.generateRelaxGrammar(JerseySchemaGenerator.java:103)
        ... 42 more
Caused by: java.net.MalformedURLException: Unknown protocol: resource
        at java.net.URL.<init>(URL.java:601)
        at java.net.URL.<init>(URL.java:464)
        at java.net.URL.<init>(URL.java:413)
        at 
com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:650)
        at 
com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:186)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:772)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at com.sun.msv.reader.GrammarReader._parse(GrammarReader.java:456)
        ... 68 more

Reply via email to