Whoa!

What fantastic questions - let me say that I believe you are starting from the right point of view here! Many folks start with a particular toolkit, Axis say, and immediately start hacking together a service. In parallel they build a client either for real or for test. This gets them moving with web services and can even get them to deployment without considering any of the questions you asked!

The trouble is they have never considered whether the type contract that was implicit and generated from their java based objects is appropriate for other consumers.


Why I like your questions and the way you posed it:

1. It assumes you care about the WSDL. This is the essential type contract of your service and your primary mechanism for destroying any chance of interop.

2. You are exposing an enormous tooling hole in the industry - WSDL editors. There are some out there but IMO they aren't great. Many folks who do "WSDL First" style dev use Java/C# initially to write a class to run through a Java2WSDL generator sort of thing. Then they take that output into their editor from there on. If you know Axis/.NET well enough you can tweak the WSDL generator's config to make it sing and dance but those techniques are magic today and NOT well documented or at least they're not widely known/practiced.

3. You are actually interested in interop from the start. If you will only ever do Java-Java use RMI already! What are you doing with a SOAP stack?

4. You are exposing a long unanswered question: "How should I approach all these issues this with Axis?" The axis user and dev lists as well as the wiki are filling with best practices but they are somewhat scattered. I'd love to see (and even help) with a cookbook that will get people started with a recommended approach to building well designed, (versionable?) and interoperable web services.

Your message is the straw that broke my camel's back. Web services are suffering from a lack of cons ice answers to these questions and that threatens their adoption rate. I'm committed to helping answer these problems with you if you're willing to continue a public discussion.



Kind regards

Jim Murphy
Mindreef, Inc.



Larry Meadors wrote:

OK, I am trying to decide how to implement a webservice, and have a few
questions.

I have implemented one from a wsdl that was given to me, so I am OK with
doing that...but now, I need to do another from scratch.

I know I can use java2wsdl to create the wsdl once I create the
interface that I want to publish. I am assuming that doing that is a
reasonable way to go...am I right? (That is the first question.)

Next, I am trying to decide if I should use List or array types for
methods that return multiple objects. If it were just Java, that would
be a no-brainer, I'd use a List, but this is new for me, so what is the
more common approach? (Second question!)

Finally, what is the best way to go if I want to make it as compatible
with everything as possible?

That's it...unless anyone wants to provide any other advice.

Thanks!
Larry


Reply via email to