No, Jibx2Wsdl works fine with 1.4.x code and JVMs. The support for Java
5 features is strictly optional, and just means that if you *are* using
these features Jibx2Wsdl will make use of the added information.
--
Dennis M. Sosnoski
SOA and Web Services in Java
Axis2 Training and Consulting
http://www.sosnoski.com - http://www.sosnoski.co.nz
Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117
[EMAIL PROTECTED] wrote:
Thanks Dennis,
That's very helpful. I looked up jibx2wsdl, and found that it "has support for Java
5 enumerations and generic collections". Does that mean that Java 5 is required? I
have to stick with Java 1.4.2 for now because working for the Canadian government means
working amongst glaciers and dinosaurs!
cheers
md
-----Original Message-----
From: Dennis Sosnoski [mailto:[EMAIL PROTECTED]
Sent: Tuesday, May 29, 2007 3:16 PM
To: [email protected]
Subject: Re: Recommendations for a new project?
Hi Michael,
There are no magic bullets when it comes to doing WSDL.
Contract-first
is great in theory, and is pretty much the only way to do things in
cases where you're dealing with different groups in
developing services
to be used organization wide. However, the tools that are
available to
support editing WSDLs and schemas are really very primitive, and you
need to have a good understanding of what you're doing in
order to make
effective use of these tools. For WSDL this isn't too bad,
but schema is
very complex and has a steep learning curve. So if you want to do
contract-first development correctly, expect to spend a
couple of weeks
on researching and learning the basics of schema beforehand.
Think of it this way - would you sign a contract that was
written in a
language you couldn't read, under the legal system of a country you
weren't familiar with? If the answer is "no", then you should
expect to
have to learn WSDL and schema regardless of whether you're using
"contract-first" or "code-first" service development.
There's a lot of confusion over just what is meant by code-first vs.
contract-first development. I saw a recent posting on this list that
pointed at the Spring (mis)information on this topic, which
assumed that
code-first meant the WSDL and schema was effectively always generated
on-the-fly from the current code, so that any time the code
changed the
WSDL and schema would also change. That's effectively what
was done by
the deprecated rpc/enc style of SOAP, and I agree completely
that this
is unworkable for any serious enterprise use.
I'd define code-first differently, to say that it means you
start with
template code and use that to generate a WSDL and schema definition,
which can then be used directly or modified as appropriate.
But whether
used directly or modified, what you end up with is a WSDL and schema
that are "fixed" definitions for the service (meaning that
they are part
of the service contract, and changing these becomes a service
versioning
issue). Based on what I've seen this is actually the approach
used for
the majority of real-world web service development. The
Jibx2Wsdl tool
(http://www.sosnoski.com/jibx-wiki/space/axis2-jibx/jibx2wsdl) is
designed around this principle, and if you're considering
using JiBX you
may want to look into using the tool since it handles JiBX binding
generation, as well as WSDL and schema generation, from
existing code.
The current version of the tool is an early release, and I
expect do an
update within the next week.
- Dennis
--
Dennis M. Sosnoski
SOA and Web Services in Java
Axis2 Training and Consulting
http://www.sosnoski.com - http://www.sosnoski.co.nz
Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117
[EMAIL PROTECTED] wrote:
To me, Contact-First makes perfect sense. I haven't heard
the Axis experts say "No No No!" yet, so I figure I'll go with that.
thanks
md
-----Original Message-----
From: Luis Mariano Luporini [mailto:[EMAIL PROTECTED]
Sent: Monday, May 28, 2007 1:17 PM
To: [email protected]
Subject: Re: Recommendations for a new project?
Michael:
I'm having this kind of questions as you stated in
your mails.
And think, probably, the better one would be to go with a
'Contract-First' approach to keep the environment
controlled when one
needs to implement features/changes. This way your clients
will be happy
to get a consistent WSDL across releases.
But anyway I would like to hear your points on this.
Please, let
know if you come to some conclusions.
Thanks,
Luis
[EMAIL PROTECTED] escribió:
Ok, thanks again
-----Original Message-----
*From:* robert lazarski [mailto:[EMAIL PROTECTED]
*Sent:* Monday, May 28, 2007 12:36 PM
*To:* [email protected]
*Subject:* Re: Recommendations for a new project?
JIBX has its own site and docs - I'd follow those to
get on the
right track.
Robert
On 5/28/07, [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>*
<[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
Thanks very much. I am using Hibernate and
fortunately I have
complete control over the schema, so I'll check out jibx.
So assuming I'm creating my own wsdl and will use
jibx, would
you generate code using wsdl2java or would you start from
scratch? I suspect that starting from scratch
will allow for
cleaner and simpler code in the long run, because as the
number of operations grows then there will be more
opportunities for refactoring code rather than
having lots of
redundant generated code, am I right?
cheers
md
-----Original Message-----
*From:* robert lazarski
[mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>]
*Sent:* Monday, May 28, 2007 12:18 PM
*To:* [email protected]
<mailto:[email protected]>
*Subject: *Re: Recommendations for a new project?
From what you say I'd go with ADB
databinding, creating
and validating your WSDL via eclipse's WST. If you are
using hibernate / jdo and such, I'd consider
jibx. If you
have complex schemas out of your control -
which is often
the case for me - use xmlbeans. Either way,
starting with
the WSDL for a 'contract first' approach is
often a good
choice.
If you've never done single sign on before I
recommend CAS:
http://www.ja-sig.org/products/cas/
See rampart for ws-security - available for
axis2 1.1.1 .
Search the archives for questions related to
soap headers
as the subject comes up frequently.
HTH,
Robert
On 5/28/07, [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>*<[EMAIL PROTECTED]
icecanada.gc.ca
<mailto:[EMAIL PROTECTED]>> wrote:
I forgot to mention, in case it's
important. I'm using
axis2 1.1.1, because due to circumstances
beyond my
control, I'm forced to use jdk 1.4.2 and WebSphere
6.1, and I couldn't get axis2 1.2 to work
with that
combination.
md
> -----Original Message-----
> From: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> [mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>]
> Sent: Monday, May 28, 2007 11:44 AM
> To: [email protected]
<mailto:[email protected]>
> Subject: Recommendations for a new project?
>
>
> Hi,
>
> I apologize in advance for a slightly
rambling and
unfocussed
> request for advice. The short questions
are: if you are a
> really experienced Axis user, and are starting a
brand new
> project, would you write everything from scratch
using Axiom?
> Would you use one of the data binding
libraries such
as JiBX?
> Would you maintain your wsdl/xsd files by hand?
>
> Now for the long version:
>
> I'm new to Axis and web services, but have been
programming
> Java for several years.
>
> I'm working on a simple web service that
provides a
> single-sign-on for our organization's
applications.
The first
> operation I'm working on is very simple
- it just
takes three
> strings (user name, password and
application name) and
> returns a string containing a list of
permissions.
>
> It works fine, but I've implemented it using the
easiest way
> possible. I just wrote a POJO class
with a method
>
> String authenticate( String, String, String )
>
> and ran Java2Wsdl using the basic
defaults. I don't
> explicitly use any of the Axis apis.
>
> However, looking to the future, I can see
where I'll
> eventually need to take more control, for
example I might
> want to manipulate the SOAP headers and/or use
WS-Security,
> and I'll probably eventually want to pass
around more
> complicated structures than strings.
>
> So I'm trying to determine the best
strategy. I'm
slightly
> bewildered with all of the choices:
>
> 1. Should I write the clients and services from
scratch using
> the axiom libraries, or generate the stubs and
skeletons?
>
> 2. If I write them from scratch, and
already have my own
> model classes (representing such things
as users),
should I
> use one of the data binding libraries
such as XMLBeans or
> JiBX? If so, which one?
>
> 3. Should I be maintaining my wsdl file
(and included
schema
> files) by hand (or using an appropriate
editing tool) in
> order to maitain control over the various
types, as
opposed
> to generating it using Java2Wsdl every time the
interface changes?
>
> I can see that the Axis developers have
tried hard to
provide
> a spectrum of methods and interfaces from the
easy/simple to
> the complex/powerful. But I'd be very
interested to
know what
> methods a really experienced Axis user
would use.
>
> Many thanks,
> Michael Davis
>
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]