You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Günther Wieser (JIRA)" <ji...@apache.org> on 2007/10/15 15:52:23 UTC

[jira] Created: (AMQ-1461) Spring integration: wrong entry in spring.schemas

Spring integration: wrong entry in spring.schemas
-------------------------------------------------

                 Key: AMQ-1461
                 URL: https://issues.apache.org/activemq/browse/AMQ-1461
             Project: ActiveMQ
          Issue Type: Bug
    Affects Versions: 4.1.1
         Environment: w/ spring 2.0.7, jdk 1.4.2
            Reporter: Günther Wieser


META-INF/spring.schemas in the active mq jar contains in release 4.1.1:

http\://activemq.org/config/1.0=activemq.xsd

this is wrong in the sense that here the namespace is mapped against the relative location of the XSD in the classpath. instead of the namespace the XSD location from the XML config should be used.

Think about the following spring XML application context header:
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:amq="http://activemq.org/config/1.0"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
				        http://activemq.org/config/1.0 http://activemq.apache.org/schema/core/activemq-core-4.1.1.xsd">

spring resolves the URL 
http://activemq.apache.org/schema/core/activemq-core-4.1.1.xsd
by first looking up the classpath for files that match "META-INF/spring.schema", and if it finds one ore more it looks inside to read the property within these files. it than tries to match the key of the property against the schema location entry of the xsi:schemaLocation entry, which in this example would be a match of "http://activemq.apache.org/schema/core/activemq-core-4.1.1.xsd" and NOT "http://activemq.org/config/1.0".

i have locally fixed this bug by modifying the META-INF/spring.schemas file to:

http\://activemq.apache.org/schema/core/activemq-core-4.1.1.xsd=activemq.xsd

with this setting it works fine here. with the original setting there was no chance to get it up and running, which is strange because of the following examples:
http://activemq.apache.org/xml-reference.html

for details on spring and spring.schemas see
http://erik.jteam.nl/?p=27

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (AMQ-1461) Spring integration: wrong entry in spring.schemas

Posted by "Rob Davies (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-1461?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Davies resolved AMQ-1461.
-----------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 5.4.0)
                   5.3.0

> Spring integration: wrong entry in spring.schemas
> -------------------------------------------------
>
>                 Key: AMQ-1461
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1461
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 4.1.1
>         Environment: w/ spring 2.0.7, jdk 1.4.2
>            Reporter: Günther Wieser
>             Fix For: 5.3.0
>
>
> META-INF/spring.schemas in the active mq jar contains in release 4.1.1:
> http\://activemq.org/config/1.0=activemq.xsd
> this is wrong in the sense that here the namespace is mapped against the relative location of the XSD in the classpath. instead of the namespace the XSD location from the XML config should be used.
> Think about the following spring XML application context header:
> <beans xmlns="http://www.springframework.org/schema/beans"
> 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> 	xmlns:amq="http://activemq.org/config/1.0"
> 	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
> 				        http://activemq.org/config/1.0 http://activemq.apache.org/schema/core/activemq-core-4.1.1.xsd">
> spring resolves the URL 
> http://activemq.apache.org/schema/core/activemq-core-4.1.1.xsd
> by first looking up the classpath for files that match "META-INF/spring.schema", and if it finds one ore more it looks inside to read the property within these files. it than tries to match the key of the property against the schema location entry of the xsi:schemaLocation entry, which in this example would be a match of "http://activemq.apache.org/schema/core/activemq-core-4.1.1.xsd" and NOT "http://activemq.org/config/1.0".
> i have locally fixed this bug by modifying the META-INF/spring.schemas file to:
> http\://activemq.apache.org/schema/core/activemq-core-4.1.1.xsd=activemq.xsd
> with this setting it works fine here. with the original setting there was no chance to get it up and running, which is strange because of the following examples:
> http://activemq.apache.org/xml-reference.html
> for details on spring and spring.schemas see
> http://erik.jteam.nl/?p=27

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.