[ 
https://issues.apache.org/jira/browse/CXF-5102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13697821#comment-13697821
 ] 

Aki Yoshida commented on CXF-5102:
----------------------------------

Hi Dan,
I think the standard path notation is the relative path (no leading "/"). 

Some loaders seem to have a pre-processing code that removes the leading "/" if 
present, so the absolute path also works.

This removal code is also in java.lang.Class, so invoking 
getClass().getResource("/path/resource.txt") will look up "path/resource.txt" 
using its classloader and find the specified resource, as if invoking 
getClass().getClassLoader().getResource("path/resource.txt"). I supposed this 
removal of leading "/" was a convenience code.

If there are classloaders that only take the absolute path, we should switch to 
ClassLoaderUtils's getResource. But otherwise, I think we can stick to the 
relative path notation and use the simple mechanism to load the resources.

Can we find or get an official confirmation or disconfirmation on this 
assumption?

thanks.
regards, aki

                
> schema resource loading code in various blueprint namespace handlers not 
> working in some environment
> ----------------------------------------------------------------------------------------------------
>
>                 Key: CXF-5102
>                 URL: https://issues.apache.org/jira/browse/CXF-5102
>             Project: CXF
>          Issue Type: Bug
>          Components: Configuration
>    Affects Versions: 2.6.8, 2.7.5
>            Reporter: Aki Yoshida
>            Assignee: Aki Yoshida
>
> The local schema resource loading code of various blueprint namespace 
> handlers uses the incorrect resource name syntax to load included resources, 
> which the eclipse's classloader seems to tolerate but the standalone 
> classloader has an issue with it.
> As a result, using PojoSR, you will see the following warning for various 
> cxf's xml-schemas because those schemas cannot be loaded from the specified 
> resource paths.
> 2013-06-29 16:49:18,008 [int Extender: 3] WARN  NamespaceHandlerRegistryImpl  
>  - No URL is defined for schema http://cxf.apache.org/ws/rm/manager. This 
> schema will not be validated
> 2013-06-29 16:49:18,009 [int Extender: 3] WARN  NamespaceHandlerRegistryImpl  
>  - No URL is defined for schema 
> http://schemas.xmlsoap.org/ws/2005/02/rm/policy. This schema will not be 
> validated
> 2013-06-29 16:49:18,010 [int Extender: 3] WARN  NamespaceHandlerRegistryImpl  
>  - No URL is defined for schema http://cxf.apache.org/ws/addressing. This 
> schema will not be validated
> Concretely, those namespace handlers are loading resources using the 
> following syntax, for example when loading schemas/blueprint/something.xsd 
> packaged in the jar.
> getClass().getClassLoader().
>                 getResource("/schemas/blueprint/something.xsd")
> However, when loading a resource over the class loader, it should use the 
> relative path like:
> getClass().getClassLoader().
>                 getResource("schemas/blueprint/something.xsd")

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to