So it is the missing handler which I need to register through
URLStreamHandlerFactory.
It looks like the Felix already registers
org.apache.felix.framework.URLHandlers. Is there any way to get at this
URLHandlers so that I can add my resource handler?
Would be easier and prefered to use the java.protocol.handler.pkgs system
property to set my resource handler?
Thank you.
Richard S. Hall wrote:
>
> 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]
>
>
>
--
View this message in context:
http://old.nabble.com/org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL-generates-Unknown-protocol%3A-resource-tp32654548p32656015.html
Sent from the Apache Felix - Users mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]