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:[EMAIL PROTECTED] > Sent: Wednesday, May 12, 2004 2:26 PM > To: [EMAIL PROTECTED] > Subject: Re: Best Practices? > > Jim, > > JAX-RPC 2.0 mandates JAXB > > -- dims > > On Wed, 12 May 2004 13:58:50 -0400, Jim Murphy <[EMAIL PROTECTED]> > 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 <[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] > > >>> > > >>> > > >>> > > >>> > > >>> > > >> > > >> > > > > >