axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James M Snell" <>
Subject Re: WSDL4J & yesterday's IRC log - problems with getting RPC info
Date Wed, 21 Nov 2001 06:46:51 GMT
Hmmm.... an Spec/API that doesn't work well for the majority of cases that 
it's used for is not a good Spec/API. 

As Glen points out in his other message, RPC-style services do represent 
the vast majority of services being implemented.  And I'd have to agree 
that WSDL's message definitions are not geared very well towards RPC 
interfaces. Perhaps a bit more consideration on that part of WSDL is 
warranted.  But, as you mention, it would just be nice if the workgroup 
would actually get started so that we can start to address these kinds of 

(to tell the truth, I'd like to see a bit of improvement in the way WSDL 
defines non-rpc interfaces also, but that's another discussion altogether)

- James M Snell/Fresno/IBM
    Web services architecture and strategy
    Internet Emerging Technologies, IBM
    544.9035 TIE line
    559.587.1233 Office
    919.486.0077 Voice Mail
Have I not commanded you?  Be strong and courageous.  Do not be terrified, 

do not be discouraged, for the Lord your God will be with you wherever you 
- Joshua 1:9

Please respond to 
To:     "Axis Development List" <>
Subject:        WSDL4J & yesterday's IRC log - problems with getting RPC info

Lotsa interesting stuff in yesterday's chat ..

[13:54] <GlenDaniels> It's also a bit of a pain to work from operation to
message to part to find out argument name/types
[13:54] <RussellButek> You noticed!
[13:55] <RussellButek> I've been complaining to the WSDL4J folks about 
for weeks, now.
[13:55] <GlenDaniels> Can we fix that?
[13:55] <RussellButek> That's one of the big things missing in WSDL4J.
[13:55] <RussellButek> Of course only us RPC'ers care about such things, 
we're still a bit audience.
[13:56] <GlenDaniels> In other words, for the case where we're using
introspection to fill in a model, for instance, it would be nice to just
fill in operations which each have argument lists, and have the WSDL stuff
automatically do the Message layer....

I think the above discussion shows a mis-understanding of WSDL4J
and J-WSDL. J-WSDL is scoped as an API for WSDL. WSDL4J is an
implementation of J-WSDL.

As an API for WSDL, J-WSDL must be true to WSDL. When WSDL was
designed, it was done carefully to not special case RPC style
operations. Instead, port types (interfaces) have a logical
operation concept which can be bound to an RPC exchange or a
non-RPC style exchange. WSDL, I believe, achieves that goal quite
well. The net result, of course, is that the pure & simple RPC
case becomes a bit painful. If you find J-WSDL painful to use to
find RPC signatures that's because WSDL is painful for that case.

You can rightfully argue that having to define a <message> with
<part>s is a damn painful way to define a simple operation signature.
You would be quite right! However, it was done that way for a
purpose (and not only because we have screwy minds). We can certainly
revisit that purpose, but J-WSDL is not the place to do it .. it
must occur in the W3C service description WG (assuming the damn thing
gets going at some point).

So, given that J-WSDL cannot have RPC-specific stuff.

Now, while J-WSDL cannot have it, there's no reason why WSDL4J cannot
have it. As an implementation of the API, it can certainly do an
"embrace and extend" on it and provide what amounts to convenience
APIs for naviging the J-WSDL object model assuming that it described
RPC style operations. That translates to a layer above the base
ref implementation (which was also mentioned later in the chat).

If the WSDL4J extensions of Axis and WSDL2Java are generic enough
to warrant being in the base impl itself, then we should put it into
WSDL4J. I suggest we live with an external extension for now and
revisit this once WSDL4J has come out of the closet.

If at the end of the day J-WSDL and WSDL4J don't cut it, well, then
its time to invent another object model for WSDL!


View raw message