Return-Path: Delivered-To: apmail-ws-axis-user-archive@www.apache.org Received: (qmail 51851 invoked from network); 14 May 2004 12:19:08 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 14 May 2004 12:19:08 -0000 Received: (qmail 43354 invoked by uid 500); 14 May 2004 12:18:41 -0000 Delivered-To: apmail-ws-axis-user-archive@ws.apache.org Received: (qmail 43276 invoked by uid 500); 14 May 2004 12:18:40 -0000 Mailing-List: contact axis-user-help@ws.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-user@ws.apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list axis-user@ws.apache.org Received: (qmail 43211 invoked by uid 98); 14 May 2004 12:18:39 -0000 Received: from GalbreathMA@state.gov by hermes.apache.org by uid 82 with qmail-scanner-1.20 (clamuko: 0.70. Clear:RC:0(169.253.4.31):. Processed in 21.140636 secs); 14 May 2004 12:18:39 -0000 X-Qmail-Scanner-Mail-From: GalbreathMA@state.gov via hermes.apache.org X-Qmail-Scanner: 1.20 (Clear:RC:0(169.253.4.31):. Processed in 21.140636 secs) Received: from unknown (HELO vance.state.gov) (169.253.4.31) by hermes.apache.org with SMTP; 14 May 2004 12:18:17 -0000 Received: from iscan-a3.state.gov ([169.253.8.160]) by vance.state.gov (8.12.10/8.12.10) with ESMTP id i4ECI5hF009079 for ; Fri, 14 May 2004 08:18:10 -0400 (EDT) Received: from fadssmtprelay.irm.state.gov ([169.253.8.5]) by iscan-a3 with InterScan Messaging Security Suite; Fri, 14 May 2004 08:21:03 -0400 Received: from dcmetrosntsg.irm.state.gov ([10.4.16.142]) by fadssmtprelay.irm.state.gov with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2657.72) id K5JDH2BB; Fri, 14 May 2004 08:18:02 -0400 Received: by dcmetrosntsg.irm.state.gov with Internet Mail Service (5.5.2657.72) id <20S1W6F0>; Fri, 14 May 2004 08:18:01 -0400 Message-ID: <31EAD63EF127D311A7C500E0290A222D02DDC74F@IMSIOOPSSNTSD> From: "Galbreath, Mark A" To: "'axis-user@ws.apache.org'" Subject: RE: Project from hell? Date: Fri, 14 May 2004 08:17:20 -0400 X-MS-TNEF-Correlator: <31EAD63EF127D311A7C500E0290A222D02DDC74F@IMSIOOPSSNTSD> MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) Content-Type: multipart/mixed; boundary="----_=_NextPart_000_01C439AD.67CDAF78" X-Spam-Rating: hermes.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_000_01C439AD.67CDAF78 Content-Type: text/plain; charset="iso-8859-1" Ok, here's the deal. I have a legacy Web app that uses applets in the presentation layer for the client/server communication. The applets capture input from the user (userid, password, etc.), sends it to the server for validation, and the server returns another applet with application options permitted by the user's security level, and so on and so on. The rub is that this app is installed in every single US consular post and embassy in the world (around 550 posts). At predetermined times the post databases synch to the main database in Washington, DC....hopefully...telecommunications in some places are not very reliable. What I have been tasked to investigate is the possibility of wrapping this app in a Web service so that all the post installations could be consolidated into one place in Washington and the posts could then use the app with only a browser (light client), and have the advantages of message queuing. Does this sound doable to you guys? Mark -----Original Message----- From: Blake Dournaee [mailto:blake@sarvega.com] Sent: Thursday, May 13, 2004 5:56 PM To: axis-user@ws.apache.org Cc: GalbreathMA@state.gov Subject: RE: Best Practices? Hi Mark, I have a comment/clarifying question on your statement here. I suppose I'm trying to understand your motivation for doing this (other than the fact that a browser happens to be a useful tool for testing XML-based web services). If you want to access a Web Service from a web browser, what is your use case? Suppose for instance you were invoking an XML web service with visual / form data. So a user enters some inputs (whatever these may be) and they get packed into a SOAP request by the browser and sent. Then, the browser receives the response from the service and unpacks the XML and renders it. This use-case seems to be doing a lot of extra work when you can accomplish the same result with a plain web application. Can you clarify? I've heard people mention browser/XML-web services interactions, but most of these came from people confusing "service on the web" with "xml web service." Thanks, Blake Dournaee Sarvega, Inc. http://www.sarvega.com -----Original Message----- From: Galbreath, Mark A [mailto:GalbreathMA@state.gov] Sent: Thursday, May 13, 2004 2:40 PM To: 'axis-user@ws.apache.org' Subject: RE: Best Practices? I truely wish to access a Web service from a browser. However I can make that happen. Mark -----Original Message----- From: Joe Plautz [mailto:joep@customcall.com] Sent: Thursday, May 13, 2004 2:36 PM To: axis-user@ws.apache.org Subject: Re: Best Practices? I don't understand what you are trying to accomplish. Are you trying to create a web app that uses a web service backend, or do you truely wish to access a web service from a browser? ----- Original Message ----- From: "Galbreath, Mark A" To: Sent: Thursday, May 13, 2004 1:23 PM Subject: RE: Best Practices? I've been trying that route but have had no success yet. I'll try it again without using Struts. Mark -----Original Message----- From: Pridemore, Russell (MAN-Corporate) [mailto:Russell.Pridemore@cox.com] Sent: Thursday, May 13, 2004 2:09 PM To: 'axis-user@ws.apache.org' Subject: RE: Best Practices? I've seen this question come up before on this list, but don't quite follow the reasoning. AFAIK, Mozilla is the only browser that can natively consume SOAP, and then only with fairly recent builds and there are several restrictions. Web services, in general, seem to be at a lower level, not intended for direct consumption by an end-user (through a browser). That said, however, there is nothing stopping you from writing a fairly simple servlet that accesses a web service and returns the data as HTML to a browser... Russ -----Original Message----- From: Galbreath, Mark A [mailto:GalbreathMA@state.gov] Sent: Thursday, May 13, 2004 10:57 AM To: 'axis-user@ws.apache.org' Subject: RE: Best Practices? How about something that should have been documented from the beginning: how to wrap an existing application in a Web service and access it with a browser? Mark -----Original Message----- From: luciano.fiandesio@ecb.int [mailto:luciano.fiandesio@ecb.int] Sent: Thursday, May 13, 2004 10:50 AM To: axis-user@ws.apache.org Subject: RE: Best Practices? Hi Andrew, I started to write a tutorial on how to create a web service using Axis and Ant. The tutorial is also taking in consideration attachments and I believe it would fit into a Axis beginners page. Luciano -----Original Message----- From: Andrew Premdas [ mailto:Andrew.Premdas@man.ac.uk ] Sent: Thursday 13 May 2004 15:58 To: axis-user@ws.apache.org; dims@apache.org Subject: RE: Best Practices? Yes otherwise I wouldn't have posted. However I have 1) Little knowledge 2) Not a great deal of time (day job too) So I'm happy to 1) Review any documentation that is newbie orientated 2) Create a newbie pathway. My initial thoughts are to create a newbie trails page on the wiki and start from there. Comments? -----Original Message----- From: Davanum Srinivas [ mailto:davanum@gmail.com ] Sent: 13 May 2004 14:06 To: axis-user@ws.apache.org Subject: Re: Best Practices? Next question: Are u willing to help? As u know all committers have day jobs :) thanks, dims On Thu, 13 May 2004 10:43:09 +0100, Andrew Premdas wrote: > > My 2c as a newbie. > > No.1 thing for a better Axis - much better documentation!! > No.2 thing, better ease of use > > For a newbie, Web Services and Axis are something of a minefield, through > which there are no clear marked paths. The docs sell .jws when really all > its good for is persauding people web services are much easier than they > actually are ... was going to list other faults of docs but instead ... > > How to improve docs: > > Provide a number of real world scenarios that clearly illustrate the > development of production quality web services. Start with something simple > and then move on from there. Explain why things are being done in a certain > way. > > StockQuote, ServiceSendingAttachment, ServiceSendingComplexType ... > > Provide examples of different ways of working with Axis and explain their > merits > > jws, interface -> java2wdsl -> wsdl2java, wsdl by hand, wsdl2java, > > Explain clearly key web services issues > xml-oo mismatch, ... > > Provide a number of clear paths through these areas, perhaps following a > format like the java tutorial. > > How to improve ease of use: > > Improve, or at the very least clearly document the command line interface > tools - wsdl2java, java2wsdl. Document the ant tasks and provide good > examples of usage. Provide default log4j configurations inbuilt into the > command line tools, so if they can't find a properties file on the command > line they will at least log to the console. Perhaps add a command line > switch (oh no another one) to set logging level. > > None of this is particularly glamorous, but the reason this thread started > is because much of this doesn't exist and people need clearer guidance about > how to get the best out of Axis. > > All best > > Andy > > Andrew Premdas > Student Systems Developer > Manchester University > > -----Original Message----- > From: Davanum Srinivas [ mailto:davanum@gmail.com ] > Sent: Wednesday, May 12, 2004 1:14 PM > To: axis-user@ws.apache.org > 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 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" > > To: > > 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" > > > To: > > > 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 > > > > > > > > > > > > > > > > > > > > > Any e-mail message from the European Central Bank (ECB) is sent in good faith but shall neither be binding nor construed as constituting a commitment by the ECB except where provided for in a written agreement. This e-mail is intended only for the use of the recipient(s) named above. Any unauthorised disclosure, use or dissemination, either in whole or in part, is prohibited. If you have received this e-mail in error, please notify the sender immediately via e-mail and delete this e-mail from your system. ------_=_NextPart_000_01C439AD.67CDAF78 Content-Type: application/ms-tnef Content-Transfer-Encoding: base64 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 pUbtv78yvzPPnsU1bjaLN28KKtKfoKCl0vuBoGMDZyBFWgDbglHR0UOpAWECQi5ReiD4RUNCe+CU cZFhCqON4O+10Ny0ZnBZomKDobgwtRL/9VB0M3wjiDCZw2ogeOSTsf+CAaLhQCNg0AzAhKMeJodA /2DQmuOCwTpjPCBs4RxjliH/mWF34UaRggHwwogxg9CzAv//UGSxV5Ka4ilVlFM5JSUj/0XBRLJM cJVR8MK1UsLSXnHLV/OVAXDPgihze+DAgv8YAXxginApVSrSfIDBYYqw/5/AgfJXUbSgjnCUAang SVP/cUBXUYHw2+CgAIekPsWTI999UE3jiDDctKVxdImTd+H/YVCnkNaxKVUi4dGCvZORtf8dYkcp CtDykAOAzCEmJWoh/22AQvTmY77FzPBK8SxClVH/ncCD0Dkl0qTMgdlVOSUDczfLFIog/1BtKVVa /wp9AVyAAB4AcAABAAAAAQAAAAAAAAACAXEAAQAAABsAAAABxDk1Czn8RkYO9ZtOR669IYsCo7c1 AB3AQiAAAwAuAAAAAAALAAIAAQAAAB4AQhABAAAAKgAAADwyMDA0MDUxMzIxNTUuaTRETHRXNWkw NjQ3MTFAc2FydmVnYS5jb20+AAAAAwD9P+QEAABAADkA4FbSZ605xAEDAPE/CQQAAB4AMUABAAAA DAAAAEdBTEJSRUFUSE1BAAMAGkAAAAAAHgAwQAEAAAAMAAAAR0FMQlJFQVRITUEAAwAZQAAAAAAD ACYAAAAAAAMANgAAAAAAAwCAEP////8LAPIQAQAAAAIBRwABAAAANgAAAGM9VVM7YT0gO3A9R09W K0RPUztsPUlNU0lPT1BTU05UUy0wNDA1MTQxMjE3MjBaLTE5MzY5AAAAAgH5PwEAAABZAAAAAAAA ANynQMjAQhAatLkIACsv4YIBAAAAAAAAAC9PPUdPVitET1MvT1U9RENNRVRST0MvQ049SU1TSU9P UFMgUkVDSVBJRU5UUy9DTj1HQUxCUkVBVEhNQQAAAAAeAPg/AQAAABIAAABHYWxicmVhdGgsIE1h cmsgQQAAAB4AOEABAAAADAAAAEdBTEJSRUFUSE1BAAIB+z8BAAAAWQAAAAAAAADcp0DIwEIQGrS5 CAArL+GCAQAAAAAAAAAvTz1HT1YrRE9TL09VPURDTUVUUk9DL0NOPUlNU0lPT1BTIFJFQ0lQSUVO VFMvQ049R0FMQlJFQVRITUEAAAAAHgD6PwEAAAASAAAAR2FsYnJlYXRoLCBNYXJrIEEAAAAeADlA AQAAAAwAAABHQUxCUkVBVEhNQQBAAAcweK/NZ605xAFAAAgwzFCJf605xAEeAD0AAQAAAAUAAABS RTogAAAAAB4AHQ4BAAAAEwAAAFByb2plY3QgZnJvbSBoZWxsPwAAHgA1EAEAAAA5AAAAPDMxRUFE NjNFRjEyN0QzMTFBN0M1MDBFMDI5MEEyMjJEMDJEREM3NEZASU1TSU9PUFNTTlRTRD4AAAAACwAp AAAAAAALACMAAAAAAAMABhAqt6oFAwAHEE82AAADABAQAAAAAAMAERABAAAAHgAIEAEAAABlAAAA T0ssSEVSRVNUSEVERUFMSUhBVkVBTEVHQUNZV0VCQVBQVEhBVFVTRVNBUFBMRVRTSU5USEVQUkVT RU5UQVRJT05MQVlFUkZPUlRIRUNMSUVOVC9TRVJWRVJDT01NVU5JQ0FUSQAAAAACAX8AAQAAADkA AAA8MzFFQUQ2M0VGMTI3RDMxMUE3QzUwMEUwMjkwQTIyMkQwMkREQzc0RkBJTVNJT09QU1NOVFNE PgAAAAAx8A== ------_=_NextPart_000_01C439AD.67CDAF78--