In moving from cxf 2.1.0 to 2.1.1 (or 2.1.2) I am encountering the following problem:
org.apache.cxf.wsdl.EndpointReferenceUtils.resolveResource() fails to resolve schema imports because systemId is null when trying to resolve the URI.
Interestingly the comment at the top of EndpointReferenceUtils reads as follows:
- We want to load the schemas, including references to external schemas, into a SchemaFactory
- to validate. There seem to be bugs in resolving inter-schema references in Xerces, so even when we are
- handing the factory all the schemas, interrelated with <import> elements, we need
- to also hand over extra copies as character images when requested.
- To do this, we use the DOM representation kept in the SchemaInfo. This has the bonus
- of benefiting from the use of the catalog resolver in there, which is missing from
- the code in here.
It looks like the code that this comment refers to was removed in 2.1.1, and that code does in fact resolve my schema's correctly.