-----Original Message----- From: robert lazarski [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 07, 2008 2:39 PM To: [email protected] Subject: Re: Choosing a path
I wrote some of the docs you are referring to, so allow me to respond ;-). First of all, in web services the xml is typically not validated, due to performance reasons. [Kurt Kavanaugh] Hmmm mildly disagree. If a HashTree is built based upon XSD at bootstrap or on demand and cached with a shelf life, binding to various XSD namespaces, lookup and comparing at the node level is fast and trivial, with either a push or pull model. However, since you mention xmlbeans, you're in luck as all the generated classes have a validate() method. So you can actually validate any xmlbeans bound xml before sending it over the wire. YMMV for other databinding API's. I think the WSDL2Java bat and sh files may have solved the ClassNotFoundException problem with xmlbeans, though the WSDL2Java ant task may expose you to a few unique problems with xmlbeans nuances. As for your Axiom questions - others may be able to comment better - what you seem to be getting at is not using xmlbeans via wsdl2java, but rather the wsdl2java -none option. Maybe trying that may clarify things for you. HTH, Robert On Wed, May 7, 2008 at 2:54 PM, Kurt Kavanaugh <[EMAIL PROTECTED]> wrote: > > > > > I have been doing some reading... and more reading... J > > > > So many choices. But all start with business requirements. > > > > In a nutshell. > > > > I like the Axiom model and the ability to write code vs generated code. On > the other hand I want XSD conformance. We also need to have a fairly rich > XML model so we want to use a document vs RPC model. In addition I/we don't > just want to have a single graph/XML/Tree like Object we need to be able to > have arrays of graph like objects. To me this seems to be the promise, to > richly describe via XML and XSD a service interaction. Not RPC simple type > in and simple type out, at least for our purposes. > > > > Questions: > > > > The Axiom model of server side implementation does not seem to be able to be > generated from the WSDL2Java, Am I missing something? Can I be pointed to > examples that illustrate non-trivial XSD compliance using the Axiom server > side implementation? > > > > Where is the XML validated? Handler Chain? Servlet, Skelton, Or is the > validity of interaction the responsibility of the Client and WSDL? > > > > I used WSDL2Java xmlBeans option and have a working service with the *.class > Schema types. How are these used? Should I decompile and take a peek under > the hood? Are they used for XSD comfornance? > > > > Also the documentation says the files are needed at compile time. I am not > finding that to be true. > > > > Excerpt > > ***************************************************** > > An important detail is that an XMLBean class file is also generated by > WSDL2Java, TypeSystemHolder.class. That file is placed into build/classes by > the above ant task and will be needed to compile the generated sources. A > frequent problem is users get an error such as: > > > > ClassNotFoundException : Cannot load SchemaTypeSystem. Unable to load class > with name > schemaorg_apache_xmlbeans.system.s68C41DB812F52C975439BA10FE4FEE54.TypeS ystemHolder. > Make sure the generated binary files are on the classpath > > ***************************************************** > > > > The classes are used at runtime correct? So this would be a runtime > ClassNotFoundException. The reference to the "schemaorg_*" String when > creating the type isn't checked at compile time. > > > > Finally since the promise of webservices is to *not* have to use Axis or any > other implementation specific stack, but the XML XSD, and WSDL elements, are > there client examples for invoking Axis created services from .NET, 1.4 JRE, > etc...clients which in theory bind to the WSDL. I know each of these > technologies has it's own WSDL2<language> tools but it would be good to have > a library of non Axis clients for compatibility testing. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
