You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Kurt Kavanaugh <kk...@teletrol.com> on 2008/05/07 19:54:36 UTC

Choosing a path

I have been doing some reading... and more reading... :-)

 

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.


Re: Choosing a path

Posted by robert lazarski <ro...@gmail.com>.
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. 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 <kk...@teletrol.com> 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.TypeSystemHolder.
> 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: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org