Ultimately, this looks correct.

I'm not familiar with the "resource:" protocol, so it makes sense that you get an error when trying to create a URL using that protocol. Someone must provider it via the URL handler service...

-> richard


On 10/14/11 14:14 , charlie kim wrote:
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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to