axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Davanum Srinivas <dava...@gmail.com>
Subject Re: Best Practices?
Date Wed, 12 May 2004 18:44:51 GMT
Any JAXB Impl. default to JaxMe (http://ws.apache.org/jaxme/)

On Wed, 12 May 2004 14:43:56 -0400, Keith Bohnenberger
<kbohnenberger@mcdonaldbradley.com> wrote:
> 
> I have not yet read the JAX-RPC 2.0 spec but if it does mandate JAXB
> will a future version of axis that implements JAX-RPC 2.0 allow the user
> to plugin any JAXB implementation he wants or will Axis ship with a JAXB
> implementation that will have to be used?
> 
> 
> > -----Original Message-----
> > From: Davanum Srinivas [mailto:davanum@gmail.com]
> > Sent: Wednesday, May 12, 2004 2:26 PM
> > To: axis-user@ws.apache.org
> > Subject: Re: Best Practices?
> >
> > Jim,
> >
> > JAX-RPC 2.0 mandates JAXB
> >
> > -- dims
> >
> > On Wed, 12 May 2004 13:58:50 -0400, Jim Murphy <jmurphy@mindreef.com>
> > wrote:
> > >
> > > I think factoring out the XML-Java Language binding into pluggable
> > > components would help - kinda like people are using Castor.  I guess
> > > that means some WSDL generation parts need to be extensible too
> but...
> > >
> > > I like XmlBeans for XML-Java-XML but I'm not sure its practical to
> add
> > > support for it to axis without a plugin architecture in place.
> > >
> > > Jim
> > >
> > >
> > >
> > > Davanum Srinivas wrote:
> > >
> > > > Let's twist this discussion on its head....
> > > > - Is there a list of bugs hiding in there somewhere? (bug reports)
> > > > - What would you do if you were to write/re-write parts of axis?
> > > > (enhancements requests)
> > > >
> > > > If we can't create new bug reports / enchancements to tell axis
> > > > developers how axis should behave in the future (1.2 Final) then
> all
> > > > discussion is just water under the bridge.
> > > >
> > > > thanks,
> > > > -- dims
> > > >
> > > > On Wed, 12 May 2004 12:12:44 -0500, Joe Plautz
> <joep@customcall.com>
> > wrote:
> > > >
> > > >>Thanks for the advice! This is exactly what I've been looking for.
> > > >>
> > > >>It almost seems that people end up using Axis inspite of itself.
> But,
> > it's
> > > >>just too dang easy to get something up and running. I imagine JWS
> > files have
> > > >>lead many people astray with their simplicity. If all services
> could
> > work
> > > >>like them, plus using user defined objects/type with little to no
> > > >>configuration. The world would be a fabulous place.
> > > >>
> > > >>I too have been not tying my service layer to my DAO layer. My
> reasons
> > are
> > > >>more personal preferrance then need. But, I can take my DAO and
> put it
> > > >>behind something else with little changing except creating a new
> > broker.
> > > >>
> > > >>-Joe
> > > >>
> > > >>
> > > >>
> > > >>----- Original Message -----
> > > >>From: "Anderson Jonathan" <anderson_jonathan@bah.com>
> > > >>To: <axis-user@ws.apache.org>
> > > >>Sent: Wednesday, May 12, 2004 10:03 AM
> > > >>Subject: RE: Best Practices?
> > > >>
> > > >>
> > > >>>I would venture to say that 80% of the complications and
> frustrations
> > > >>>implementing interoperable (WS-I compliant Doc/Literal) SOAP web
> > services
> > > >>
> > > >>on
> > > >>
> > > >>>Java platforms stem from the XML datatype to Java datatype
> binding
> > > >>
> > > >>problem.
> > > >>
> > > >>>If you take the time to learn W3C XML Schema, you'll see the
> problem:
> > it's
> > > >>>not an OO type system.  Therefore modeling your data types in
> Java
> > and
> > > >>>expecting some automagic Java2WSDL utility to do all of the hard
> work
> > to
> > > >>>generate your XML schema is naive, and it is unfortunate that so
> many
> > OO
> > > >>>developers think this way.
> > > >>>
> > > >>>I've encountered several approaches for dealing with this problem
> > with
> > > >>>Axis - virtually all of them involve hand crafting your WSDL and
> XSD
> > (with
> > > >>
> > > >>a
> > > >>
> > > >>>WSDL/XSD IDE, of course) and generating a Java type system using
> ***a
> > > >>>particular Java XML binding engine***.  Using Axis's internal XML
> > binding
> > > >>>engine is one of several options available to you.
> > > >>>
> > > >>>For more info on the XML binding problem in Java, I defer to
> Dennis
> > > >>
> > > >>Sosnoski
> > > >>
> > > >>>(www.sosnoski.com), a long-time XML deep thinker.  He first
> turned me
> > onto
> > > >>>the XML data binding "problem" with his excellent articles (4
> parts)
> > on
> > > >>
> > > >>the
> > > >>
> > > >>>issues over at IBM developerWorks.
> > > >>>
> > >
> >>>http://www-106.ibm.com/developerworks/library/x-databdopt/index.html
> > > >>>
> > > >>>If you're trying to use Axis's internal XML binding engine,
> here's
> > some
> > > >>>advice:
> > > >>>
> > > >>>http://marc.theaimsgroup.com/?l=axis-user&m=107945370506044&w=2
> > > >>>
> > > >>>We've since moved away from this approach, and are currently
> using
> > Axis's
> > > >>>Message Style services to pass the SOAP Request Body DOM straight
> to
> > > >>
> > > >>Castor,
> > > >>
> > > >>>which unmarshalls the XML into a Castor generated type system.
> We
> > further
> > > >>>introduced a broker pattern to abstract the SOAP messaging layer
> from
> > our
> > > >>>business layer, which currently is not tied to any XSD generated
> > types.
> > > >>>
> > > >>>Axis Message Style Service Implementation ->
> > > >>>Service Broker Layer (unmarshalls SOAP Request DOM via Castor,
> > extracts
> > > >>
> > > >>the
> > > >>
> > > >>>necessary information from Castor types - literally traversing
> the
> > graph's
> > > >>>getters - to invoke Business Manager Layer, and catches Business
> > > >>
> > > >>Exceptions
> > > >>
> > > >>>and maps them to proper SOAP Faults using AxisFault)->
> > > >>>Business Manager Layer (not tied to XSD types, but rather pure
> Java
> > > >>
> > > >>business
> > > >>
> > > >>>domain types, invokes DAO layer as needed) ->
> > > >>>DAO Layer (a Spring/Hibernate layer to manage persistence for
> > business
> > > >>>domain types)
> > > >>>
> > > >>>The problem here is definitely managing and translating between
> the
> > two
> > > >>
> > > >>type
> > > >>
> > > >>>systems: Castor generated classes from XSD and non-generated
> Business
> > > >>
> > > >>Domain
> > > >>
> > > >>>classes.
> > > >>>
> > > >>>The alternative, however, is to just try to use the XSD generated
> > type
> > > >>>system and persist that directly.  This is too big of a leap for
> us
> > right
> > > >>>now, as our business layer doesn't "think" in pure XSD type
> terms.
> > You'll
> > > >>>probably encounter this a lot given how much legacy functionality
> > people
> > > >>
> > > >>are
> > > >>
> > > >>>trying to SOAP service enable.
> > > >>>
> > > >>>Bottom line: implementing a WS-I compliant SOAP service in Java
> is
> > not a
> > > >>>trivial thing.  There are two types of people building Web
> Services
> > in
> > > >>
> > > >>Java:
> > > >>
> > > >>>those who are extremely frustrated with the completely stupid
> state
> > of the
> > > >>>Java based Web Services world right now and yet still trying very
> > hard to
> > > >>
> > > >>do
> > > >>
> > > >>>it right, and those who haven't grasped that world is in a
> completely
> > > >>
> > > >>stupid
> > > >>
> > > >>>state right now.
> > > >>>
> > > >>>-Jon
> > > >>>
> > > >>>-----Original Message-----
> > > >>>From: Joe Plautz [mailto:joep@customcall.com]
> > > >>>Sent: Wednesday, May 12, 2004 10:02 AM
> > > >>>To: axis-user@ws.apache.org
> > > >>>Subject: Re: Best Practices?
> > > >>>
> > > >>>
> > > >>>My first attemps have started with a WSDL/Schema then I generate
> > > >>
> > > >>everything.
> > > >>
> > > >>>I was able to find an example at W3.org and I just manipulate it
> to
> > the
> > > >>
> > > >>way
> > > >>
> > > >>>I need it. I thought this to be the best way at the time because
> of
> > > >>>interoperability.
> > > >>>
> > > >>>From what I've been finding thus far there are no "Standard"
> > practices,
> > > >>
> > > >>just
> > > >>
> > > >>>"Accepted" practices. Starting with a class then using Java2WSDL
> and
> > then
> > > >>>WSDL2Java seems to be the most common. But, it almost seems that
> this
> > was
> > > >>>not the intention of the designers of Axis. Why use two steps
> when
> > you can
> > > >>>use one? Creating a WSDL from scratch seems like the intended
> way,
> > but is
> > > >>>not the most accepted way by the developers/users of Axis. Why
> write
> > what
> > > >>>you can generate?
> > > >>>
> > > >>>I know this isn't difficult earth shattering stuff, I'm just
> looking
> > for
> > > >>
> > > >>the
> > > >>
> > > >>>best way of doing this. So, when I start working with other
> people to
> > > >>
> > > >>create
> > > >>
> > > >>>services, we're doing it the "right" way.
> > > >>>
> > > >>>----- Original Message -----
> > > >>>From: "Dorner Thomas" <thomas.dorner@edmb.debis.com>
> > > >>>To: <axis-user@ws.apache.org>
> > > >>>Sent: Wednesday, May 12, 2004 7:01 AM
> > > >>>Subject: AW: Best Practices?
> > > >>>
> > > >>>
> > > >>>You are right - if you will do a interoperable webservice
> > > >>>that deal with other clients (.Net ...) its better to go from the
> > > >>>wsdl.
> > > >>>
> > > >>>But when i use String, int and so on and i generate a wsdl by
> > > >>>java2wsdl, I hope the wsdl i get, depends on the standard spec.
> > > >>>for wsdl!????
> > > >>>
> > > >>>So there should no problem to use the wsdl by other languages!???
> > > >>>
> > > >>>Dont know how it looks with complex datatypes!????
> > > >>>
> > > >>>Do you all write your own wsdl by hand????
> > > >>>
> > > >>>Tomi
> > > >>>
> > > >>>-----Urspr√ľngliche Nachricht-----
> > > >>>Von: David Cunningham [mailto:david.cunningham@dcdominion.com]
> > > >>>Gesendet: Mittwoch, 12. Mai 2004 13:14
> > > >>>An: axis-user@ws.apache.org
> > > >>>Betreff: RE: Best Practices?
> > > >>>
> > > >>>
> > > >>>I disagree, the right way is to start with your WSDL and schema
> files.
> > If
> > > >>>you want any hope of being WS-I compliant or using doc/literal
> this
> > is
> > > >>
> > > >>your
> > > >>
> > > >>>best bet. As soon as you start with an interface, you start
> dealing
> > Java
> > > >>>types that do not correlate to schema types very well. For
> example,
> > if you
> > > >>>use: public List getStuff() or public String[] getStuff(), you
> will
> > either
> > > >>>generate a WSDL file that can't be parsed properly by other
> consumers
> > > >>
> > > >>(.NET,
> > > >>
> > > >>>Glue, etc) or be bound to Java collection types that have no
> chance
> > of
> > > >>
> > > >>being
> > > >>
> > > >>>parsed properly by .Net (without a lot of hacking around).
> > > >>>
> > > >>>My recommendation, again personal preference, is always give
> thought
> > to
> > > >>
> > > >>the
> > > >>
> > > >>>XML that is going across the wire and what you are trying to
> > send/receive
> > > >>>and in what structure. This is especially important when dealing
> with
> > > >>>doc/literal since you are sending a single document over the
> wire.
> > > >>>
> > > >>>- david
> > > >>>
> > > >>>-----Original Message-----
> > > >>>From: Dorner Thomas [mailto:thomas.dorner@edmb.debis.com]
> > > >>>Sent: Wednesday, May 12, 2004 2:03 AM
> > > >>>To: 'axis-user@ws.apache.org'
> > > >>>Subject: AW: Best Practices?
> > > >>>
> > > >>>The right way is to write a interface which includes all the
> Methods
> > your
> > > >>>webservice should offer.
> > > >>>
> > > >>>Then you use java2wsdl to generate your wsdl. You have to correct
> > your
> > > >>>parameternames in your auto generated wsdl, cause the the params
> > looks
> > > >>
> > > >>like
> > > >>
> > > >>>in0, in1, in2... .
> > > >>>
> > > >>>Then you use wsdl2java to generate your stub, locator, skeleton,
> impl
> > and
> > > >>>maybe a testclient.
> > > >>>
> > > >>>Now you can implement and deploy your Service by unsing the
> addtional
> > > >>>generated .wsdd files.
> > > >>>
> > > >>>Hope this helps you
> > > >>>
> > > >>>Tomi
> > > >>>
> > > >>>-----Urspr√ľngliche Nachricht-----
> > > >>>Von: Joe Plautz [mailto:joep@customcall.com]
> > > >>>Gesendet: Dienstag, 11. Mai 2004 18:48
> > > >>>An: axis-user@ws.apache.org
> > > >>>Betreff: Best Practices?
> > > >>>
> > > >>>
> > > >>>I'm a newbie looking for guidance in creating WebServices with
> Axis.
> > I've
> > > >>>gone through the documentation backwards and forwards and have
> come
> > up
> > > >>
> > > >>with
> > > >>
> > > >>>me own ways of doing things. I start with a WSDL that I create
> and
> > use
> > > >>>WSDL2Java to generate the code and go from there. What I'm
> looking
> > for is
> > > >>
> > > >>a
> > > >>
> > > >>>best practices because I don't feel confident in the way I am
> going
> > about
> > > >>>it.
> > > >>>
> > > >>>Do most people start from a WSDL? Do people generate a WSDL from
> an
> > > >>>interface and go from there? Do people just create a class and
a
> WSDD
> > > >>
> > > >>file?
> > > >>
> > > >>>Or, do people use JWS files that accept a string and the string
> > contains
> > > >>
> > > >>xml
> > > >>
> > > >>>formated text?
> > > >>>
> > > >>>If there are any sites that cover this information, please
> forward
> > them on
> > > >>>to me.
> > > >>>
> > > >>>Any help will be appreciated!!!
> > > >>>
> > > >>>Thanks,
> > > >>>Joe Plautz
> > > >>>joep@customcall.com
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>
> > > >>
> > > >
> > >
> 
>

Mime
View raw message