Uploaded image for project: 'Cocoon'
  1. Cocoon
  2. COCOON-2265

Cannot use cocoon-servlet-service-impl 1.2.0 because java.net.MalformedURLException: Could not resolve blockcontext:/...

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.2, 2.3.0
    • None
    • None
    • Servlet Service Framework
    • Servlet Service Framework

    Description

      The following issue occurs with the blockcontext URL when trying to use cocoon-servlet-service-impl 1.2.0 and mounting a servlet using the default architype with this dependency added. I am including an example project for others to test this against.

      I am trying to replicate this in a test example is we are having sever difficulties using 1.2.0 and most specifically using org.apache.cocoon.sitemap.SitemapServlet in our Cocoon project located here..,

      http://jira.dspace.org/jira/browse/DS-253

      Here we were able to alleviate https://issues.apache.org/jira/browse/COCOON-2217, by upgrading to 1.2.0, but it is causing other problems now.

      I am including a new example multimodule project that replicates this. To execute this project do:

      cd test
      mvn package install

      to execute the first application

      cd test-original-webapp
      mvn jetty:run

      this application should run without issues

      to execute the second modified webapplication do:

      cd ../test-new-webapp
      mvn jetty:run


      It is comprised of two example block/webapp pairs

      test/test-original-block
      test/test-original-webapp

      The above example was generated off the cocoon archetypes, in needed to be altered to adjust for the problem identified in

      http://www.nabble.com/Creating-a-parent-POM-td18173518.html

      I corrected for this by adding the maven-war-plugin as a plugin in test/pom.xml, otherwise it is unaltered accept to insert test-original-block in test-original-webapp. This example works but uses: org.apache.cocoon:cocoon-servlet-service-impl:1.0.0

      The next example is generated the same way but adds dependencies to upgrade the block to use org.apache.cocoon:cocoon-servlet-service-impl:1.2.0

      test/test-new-block
      test/test-new-webapp

      But I needed to also add an explicit addition of the dependency: org.apache.excalibur.components:excalibur-sourceresolve:2.2.3 to correct for the following problem as well...

      2009-08-22 17:25:03.216::WARN: Failed startup of context org.mortbay.jetty.plugin.Jetty6PluginWebAppContext@e696f9{/,/Users/mdiggory/test-works/test-new-webapp/target/test-new-webapp-1.0}
      org.springframework.beans.factory.BeanDefinitionStoreException: Unable to read Avalon configuration from 'resource://org/apache/cocoon/cocoon.xconf'.; nested exception is org.apache.avalon.framework.configuration.ConfigurationException: Unable to create class for component with role org.apache.cocoon.generation.Generator/imagedirectory with class: org.apache.cocoon.generation.ImageDirectoryGenerator
      at org.apache.cocoon.core.container.spring.avalon.BridgeElementParser.parse(BridgeElementParser.java:86)
      ...
      at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
      Caused by: org.apache.avalon.framework.configuration.ConfigurationException: Unable to create class for component with role org.apache.cocoon.generation.Generator/imagedirectory with class: org.apache.cocoon.generation.ImageDirectoryGenerator
      at org.apache.cocoon.core.container.spring.avalon.BridgeElementParser.createConfig(BridgeElementParser.java:216)
      ... 58 more
      Caused by: java.lang.NoClassDefFoundError: org/apache/excalibur/source/SourceException
      at java.lang.Class.forName0(Native Method)
      at org.apache.cocoon.core.container.spring.avalon.BridgeElementParser.createConfig(BridgeElementParser.java:207)
      ... 60 more
      2009-08-22 17:25:03.228::WARN: Nested in org.springframework.beans.factory.BeanDefinitionStoreException: Unable to read Avalon configuration from 'resource://org/apache/cocoon/cocoon.xconf'.; nested exception is org.apache.avalon.framework.configuration.ConfigurationException: Unable to create class for component with role org.apache.cocoon.generation.Generator/imagedirectory with class: org.apache.cocoon.generation.ImageDirectoryGenerator:
      java.lang.NoClassDefFoundError: org/apache/excalibur/source/SourceException
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:164)
      at org.apache.cocoon.core.container.spring.avalon.BridgeElementParser.createConfig(BridgeElementParser.java:207)
      ...
      at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
      2009-08-22 17:25:03.261::INFO: Started SelectChannelConnector@0.0.0.0:8888
      [INFO] Started Jetty Server

      Once this excalibur bridge error is corrected for, the resulting error occurs in our application as well... and reflects that for some reason in org.apache.cocoon:cocoon-servlet-service-impl:1.2.0 that the "blockcontext:" URL scheme is no longer being properly handled by the application

      2009-08-22 17:21:15.052:/:INFO: Apache Cocoon Spring Configurator v1.0.2 is running in mode 'prod'.
      2009-08-22 17:21:17.084::WARN: Failed startup of context org.mortbay.jetty.plugin.Jetty6PluginWebAppContext@66b7ea{/,/Users/mdiggory/test-works/test-new-webapp/target/test-new-webapp-1.0}
      org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.example.test-new-block.service': Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not create configuration for TreeProcesoor; nested exception is java.net.MalformedURLException: unknown protocol: blockcontext
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1337)
      ...
      at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
      Caused by: org.springframework.beans.factory.BeanCreationException: Could not create configuration for TreeProcesoor; nested exception is java.net.MalformedURLException: unknown protocol: blockcontext
      at org.apache.cocoon.sitemap.SitemapServlet$RequestProcessor.getProcessor(SitemapServlet.java:113)
      ...
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334)
      ... 53 more
      Caused by: java.net.MalformedURLException: unknown protocol: blockcontext
      at java.net.URL.<init>(URL.java:574)
      at java.net.URL.<init>(URL.java:464)
      at java.net.URL.<init>(URL.java:413)
      at org.apache.cocoon.servletservice.ServletServiceContext.getResource(ServletServiceContext.java:108)
      at org.apache.cocoon.sitemap.SitemapServlet$RequestProcessor.createTreeProcessorConfiguration(SitemapServlet.java:162)
      at org.apache.cocoon.sitemap.SitemapServlet$RequestProcessor.getProcessor(SitemapServlet.java:111)
      ... 76 more
      2009-08-22 17:21:17.097::WARN: Nested in org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.example.test-new-block.service': Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not create configuration for TreeProcesoor; nested exception is java.net.MalformedURLException: unknown protocol: blockcontext:
      java.net.MalformedURLException: unknown protocol: blockcontext
      at java.net.URL.<init>(URL.java:574)
      at java.net.URL.<init>(URL.java:464)
      at java.net.URL.<init>(URL.java:413)
      at org.apache.cocoon.servletservice.ServletServiceContext.getResource(ServletServiceContext.java:108)
      ...
      at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
      2009-08-22 17:21:17.128::INFO: Started SelectChannelConnector@0.0.0.0:8888
      [INFO] Started Jetty Server

      Attachments

        1. cocoon.log
          11 kB
          Mark R. Diggory
        2. test.zip
          40 kB
          Mark R. Diggory

        Activity

          People

            Unassigned Unassigned
            mdiggory Mark R. Diggory
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: