No. I don't think Jonathan is on the wrong track...It's just that we
need to understand existing situation better which is always the right
thing to do. What i was suggesting was how do we learn from what he
have and turn it into what we want it to be.

-- dims

On Wed, 12 May 2004 10:30:23 -0700, Yakulis, Ross (Ross)
<[EMAIL PROTECTED]> wrote:
> 
> Exactly, that is why Jonathan Anderson is on the wrong track.   He describes what he 
> currently has to do.   The real question is in the long run what is the right way to 
> do things and push for that and get Axis to migrate in that direction.   I 
> personally still believe that writing wsdl files is for the birds and should be 
> avoided.   Ultimately, only tools should be generating wsdl files, scans for rare 
> cases.  If web services are not easy to create and deploy they are generally not 
> much better that their predecessors.
> 
> Ross
> 
> 
> 
> -----Original Message-----
> From: Davanum Srinivas [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, May 12, 2004 10:14 AM
> To: [EMAIL PROTECTED]
> Subject: Re: Best Practices?
> 
> 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 <[EMAIL PROTECTED]> 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" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > 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:[EMAIL PROTECTED]
> > > Sent: Wednesday, May 12, 2004 10:02 AM
> > > To: [EMAIL PROTECTED]
> > > 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" <[EMAIL PROTECTED]>
> > > To: <[EMAIL PROTECTED]>
> > > 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:[EMAIL PROTECTED]
> > > Gesendet: Mittwoch, 12. Mai 2004 13:14
> > > An: [EMAIL PROTECTED]
> > > 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:[EMAIL PROTECTED]
> > > Sent: Wednesday, May 12, 2004 2:03 AM
> > > To: '[EMAIL PROTECTED]'
> > > 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:[EMAIL PROTECTED]
> > > Gesendet: Dienstag, 11. Mai 2004 18:48
> > > An: [EMAIL PROTECTED]
> > > 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
> > > [EMAIL PROTECTED]
> > >
> > >
> > >
> > >
> > >
> >
> >
>

Reply via email to