Dan, I've logged the problem and did some investigation. Logged it as: https://issues.apache.org/jira/browse/CXF-2599
Thanks, Craig. On Fri, Dec 4, 2009 at 10:51 AM, Daniel Kulp <[email protected]> wrote: > On Thu November 19 2009 12:53:33 am Craig Tataryn wrote: > > Problem we've faced with the catalog solution is the case where the > > XSDs your WSDL is referencing also references other XSDs in a relative > > way. It seems (to me) that you can't make a catalog entry which > > overrides "../" to point to a specific place on the classpath. > > > > For instance: > > WSDL has <xsd:import schemaLocation="schemas/3rdPartySchema.xsd"/> > > We map schemas to classpath:/schemas in a catalog and that works well. > > > > then, in 3rdPartySchema.xsd there is a: <xsd:import schemaLocation="../ > > coreschemas/base.xsd"/>. There seems no way to catalog "../" to point > > to classpath:/coreschemas... > > > Hmm... You should HAVE to do anything with the catalogs in this case. > The > systemId for 3rdPartySchema.xsd should end up being the full URL for > whatever > "classpath:/schemas/3rdPartySchema.xsd" resolves to. (like > jar:file://..../myproject.jar!/schemas/3rdPartySchema.xsd) > > Thus, the relative path, which would resolve from the systemId, should work > fine for that. If it isn't, that would be a bug and should be logged > (with > a testcase :-) ). > > Dan > > > > > > What happens is anytime 3rdPartySchema.xsd makes reference to an > > element from base.xsd, it complains it's an unresolved element (but > > doesn't seem to complain that it can't find base.xsd mind you). > > > > Craig. > > > > On 16-Nov-09, at 7:25 AM, Daniel Kulp wrote: > > > This is exactly what the XML catalogs are designed for (and the - > > > catalog flag > > > on wsdl2java). Basically, they allow URL patterns and such used > > > for > > > imports to be mapped into new URL's where the stuff really lives. > > > Thus, you > > > can have "http://..." type URL's in the wsdl's/xsd's, but have > > > those remapped > > > into file things or such. > > > > > > Dan > > > > > > On Sat November 14 2009 9:31:43 am Dominik Raymann wrote: > > >> Hi there, > > >> > > >> I use WSDL2JAVAto generate client code from a WSDL. I'd like to > > >> store the > > >> WSDL (and all referenced dependencies) locally so that the stubs > > >> can be > > >> generated offline. However, the WSDL references (imports) other > > >> WSDLs as > > >> well as schema files. These references are absolute URLs. > > >> > > >> Is it possible to map these URLs to local files somehow or do I > > >> have to > > >> edit the WSDL manually and change to URLs so that they point to the > > >> local > > >> files? > > >> > > >> Or is there a tool (wsdl2java itself?) that downloads everything > > >> needed for > > >> codegeneration and changes the references so that they point to the > > >> local > > >> copies of the files? > > >> > > >> Thanks for your answer, > > >> > > >> Dominik > > > > -- > Daniel Kulp > [email protected] > http://www.dankulp.com/blog > -- Craig Tataryn site: http://www.basementcoders.com/ podcast:http://feeds.feedburner.com/TheBasementCoders irc: ThaDon on freenode #basementcoders, ##wicket, #papernapkin twitter: craiger
