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