My thoughts on this:

1) According to the schema spec, if the schemaLocation hint isn't specified, 
it's up to the application to figure out how to resolve it if needed.   Thus, I 
don't really consider this a "bug".   We specifically just  use the information 
provided and is part of the "compilation unit" (aka: wsdl).    

2) Personally, I think it's pretty silly to NOT provide the schemaLocation and 
would STRONGLY STRONGLY recommend adding it.  The only time I've ever seen it 
not specified is when importing schemas that are also embedded in the same wsdl 
(so there isn't a location).     When ever I see things like "up to the 
application" in specs, that, to me, is an interoperability nightmare.   Just 
specify it.

3) That all said, the root issue would be in XmlSchema's SchemaBuilder class.  
If there isn't a schemaLocation, it assumes it's part of the compilation unit 
it's working on and continues.   Doesn't try to resolve anything.   If you want 
to pursue a patch or something, it would be around 680 of SchemaBuilder.java.  
But even changing that MAY require more support from CXF's side to pre-populate 
the namespaces it already knows to  avoid it going off to the internet for 
them.   Not really sure.

Dan


On Sep 26, 2013, at 9:56 AM, Menelaos Perdikeas <[email protected]> wrote:

> I am using Apache CXF 2.7.6 `wsdl2java` and it seems that the tool ignores
> or fails to find public catalog entries. In particular I have the following
> `<xs:import>` in one of my XSD files:
> 
>    <xs:import namespace="http://www.ivoa.net/xml/STC/STCcoords/v1.10"/>
> 
> The above cannot be properly resolved with the catalog file entry:
> 
>    <public publicId="http://www.ivoa.net/xml/STC/STCcoords/v1.10";
> uri="STCcoords-v1.10.xsd"/>
> 
> If I change the `<xs:import>` by adding a `schemaLocation` attribute, i.e.
> change it to:
> 
>    <xs:import namespace="http://www.ivoa.net/xml/STC/STCcoords/v1.10";
> schemaLocation="http://www.ivoa.net/xml/STC/STCcoords/v1.10/>
> 
> It resolves files, but my understanding is that this shouldn't have been
> necessary as I don't want to have to edit the XSD I am provided with.
> 
> The behavior is the same whether OASIS XML format or TR9401 format is used.
> Kind Regards,
> Menelaus.

-- 
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com

Reply via email to