Hi,

Unfortunately, there's no shortage of cretins out there that think just
because they can type that qualifies them to develop XML Schemas (text files
save to disk without a problem; no problem saving => works fine!). Anyway,
sometimes there are cyclic references between XML Schema documents or within
an XML Schema document tree. The XML Schema specification is silent on
cyclic references but only a cretin would produce such a tree. WSDL2Java
follows cyclic references and thus times out or overflows its stack or runs
out of memory when cyclic references are present.

The solution, is to manually edit the schema documents, of course.

So long as scientists, etc. fail to put in the effort to understand XML
Schema, we are going to have many problems dealing with their junk.
Unfortunately, because the schemas are very large (1000+ elements for some
OGC schemas, for example), few folks, if any, get to stress-test them before
they are released as a 'standard'. I am spending more time these days trying
to stitch together XML Schema documents to form coherent XML Schemas.
(Another problem occurs when an XML Schema references multiple versions of
other XML Schemas, e.g. directly referencing GML 3 and ISO19115  _but_
ISO19115 references GML 2 ... GML 3 and GML 2 are incompatible, of course!).


Jeff Lawson



----- Original Message -----
From: "Arno Huetter" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, December 22, 2003 8:20 AM
Subject: Re: WSDL2Java does not create any output on complex XSD imports


> I run Axis 1.1. The original XSD files used to have tons of XSD-includes
> (not sure if there were any cyclic includes, though), like:
>
> <include schemaLocation="Types.xsd"/>
>
> Which I replaced by corresponding imports within the WSDL file:
>
> <import location="Types.xsd"/>
>
> I simply imported all XSD files that existed (originally the WSDL file
just
> imported XSD files for types that were directly addressed, but no nested
> types). This solved the issue.
>
> Kind regards,
> Arno Huetter
>
> -----Ursprungliche Nachricht-----
> Von: Dan Christopherson [mailto:[EMAIL PROTECTED]
> Gesendet: Freitag, 19. Dezember 2003 16:38
> An: [EMAIL PROTECTED]
> Betreff: Re: WSDL2Java does not create any output on complex XSD imports
>
>
> What version of Axis were you using? Was the import in the wsdl a
> wsdl:import or an xsd:import? I've
> done some experimentation with a wsdl importing an xsd that imports xsds
> that import xsds (although
> not as many). The 1.2 alpha was pretty close to working, except for the
> mixed="true" problem on
> complextypes, which may not effect you.
>
> We did use a wsdl:import to import the initial xsd, though, rather than
the
> 'correct' xsd:import. I
> don't know if that effects axis or not: we did that to coddle a different
> tool.
>
> Also, do you have another way of validating the wsdl?
>
> Another thought would be to increase the max heap size of the process
> WSDL2Java is running in - a
> silent termination makes me thing that there might be some issue there.
>
> HTH,
> danch
>
> Arno Huetter wrote:
> > Hi there,
> >
> > when I invoke WSDL2Java on a certain WSDL, which imports several XSD
> files,
> > which then again import a net of further XSD files (about 100 of them)
> > containing more XSD types, there is absolutely no output generated. At
> first
> > this was an issue of a low default timeout value (and there was an
> according
> > error message), but then since passing "-O -1" (infinite timeout),
> WSDL2Java
> > simply produces no output (and no error message either), but simply
> > terminates after a couple of seconds.
> >
> > What finally solved the problem was to manually move all the imports up
to
> > the WSDL file itself, which now imports all XSD files directly, and to
> > remove all imports within the XSD files.
> >
> > It took me hours to find out what's wrong. I would appreciate this issue
> to
> > be fixed in the next release.
> >
> > Kind regards,
> > Arno Huetter
> >
>
>

Reply via email to