axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anthony Elder" <ant.el...@uk.ibm.com>
Subject Re: [axis] WSDL2Java enhancements for WSIF
Date Tue, 01 Oct 2002 13:22:47 GMT

WSDL2Java fails with most if not all the WSIF supplied sample WSDL for
example:

> java org.apache.axis.wsdl.WSDL2Java -v
http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/java/samples/addressbook/wsifservice/AddressBook.wsdl

Parsing XML file:
http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-axis-wsif/java/samples/addressbook/wsifservice/AddressBook.wsdl
Generating addressbook\wsiftypes\Address.java
Generating addressbook\wsifservice\AddressBook.java
Generating addressbook\wsifservice\SOAPHttpBindingStub.java
Generating addressbook\wsifservice\SOAPJmsBindingStub.java
Generating addressbook\wsifservice\AddressBookService.java
Generating addressbook\wsifservice\AddressBookServiceLocator.java
java.io.IOException: Emitter failure.  Cannot find endpoint address in port
SOAPJMSPort in service AddressBookServiceLocator
        at
org.apache.axis.wsdl.toJava.JavaServiceImplWriter.writeFileBody(JavaServiceImplWriter.java:191)
        at
org.apache.axis.wsdl.toJava.JavaWriter.generate(JavaWriter.java:150)
        at
org.apache.axis.wsdl.toJava.JavaServiceWriter.generate(JavaServiceWriter.java:103)
        at
org.apache.axis.wsdl.toJava.JavaGeneratorFactory$Writers.generate(JavaGeneratorFactory.java:286)
        at org.apache.axis.wsdl.gen.Parser.generate(Parser.java:325)
        at org.apache.axis.wsdl.gen.Parser.access$000(Parser.java:83)
        at
org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:248)
        at java.lang.Thread.run(Thread.java:498)

       ...ant

Anthony Elder
ant.elder@uk.ibm.com
Web Services Development
IBM UK Laboratories,  Hursley Park
(+44) 01962 818320, x248320, MP208.


Russell Butek/Austin/IBM@IBMUS on 01/10/2002 13:47:11

Please respond to axis-dev@xml.apache.org

To:    axis-dev@xml.apache.org
cc:
Subject:    Re: [axis] WSDL2Java enhancements for WSIF







I could, perhaps, be convinced to add a --dynamic flag, which would only
generate the SEI and types.  But your other point isn't sensible for
today's AXIS.  AXIS is a SOAP engine.  There is no reason for an AXIS tool
to support something that AXIS itself doesn't support.

However, ... uh, ... let me give you a quick architecture of the tool,
first.  There are two levels:  WSDL2 which is the base framework and the
symbol table; WSDL2Java extends this base and adds the emitters.  I suspect
that WSDL2Java falls apart on WSIF's WSDL in the symbol table itself, not
in the emitters.  (Could you send me one of your WSDL files so I can
verify?)

Anyway, back to the 'however'...  since it's the base framework that may be
failing for you, this is another reason to move the base framework - the
WSDL2 bit - into its own project.  THIS thing should be able to handle all
bindings (or at least have hooks for extensions to add specific binding
info).  An extension could do what it likes with the bindings handed to it.
For instance, AXIS's WSDL2Java could throw an UnsupportedException if it
sees non-SOAP bindings.  WSDL2WSIF would accept all bindings that it
understands.

So I'm still hesitant to change the tool as it sits today inside of AXIS.
But if we move WSDL2 outside of AXIS (leaving the WSDL2Java bits inside
AXIS), then I would be much more comfortable with your suggestions.  We
could then create, for WSIF, a WSDL2WSIF tool, which could essentially be
an extension of WSDL2Java which:
1.  turns off the UnsupportedException and deals with the new bindings.
2.  only generates the SEI and types.

Russell Butek
butek@us.ibm.com


"Paul Fremantle" <pzf@hursley.ibm.com> on 10/01/2002 03:50:06 AM

Please respond to axis-dev@xml.apache.org

To:    <axis-dev@xml.apache.org>
cc:
Subject:    Re: [axis] WSDL2Java enhancements for WSIF



Russell

I don't believe these extra enhancements to be just valid for WSIF.

The JAX-RPC spec allows the usage of dynamic proxies, where there is no
stub
class. This is the model we use in WSIF, and in this model, there is no
requirement to generate stub classes.

Secondly, there is nothing in the WSDL spec to say that you will only ever
get SOAP bindings, so if WSDL2Java falls over with other bindings thats a
bug.

I believe these changes are valid enhancements to a tool that should be
useful for any JAX-RPC implementation.

Paul


----- Original Message -----
From: "Russell Butek" <butek@us.ibm.com>
To: <axis-dev@xml.apache.org>
Sent: Monday, September 30, 2002 4:16 PM
Subject: RE: [axis] WSDL2Java enhancements for WSIF

>
>
>
>
> I don't like lots of extra options on WSDL2Java just for WSIF
(particularly
> if you'll always use those options in WSIF), so I prefer a new tool.  If
we
> go the route of a new tool, it should be under the WSIF umbrella, not
AXIS.
>
> Russell Butek
> butek@us.ibm.com
>
>
> "Anthony Elder" <ant.elder@uk.ibm.com> on 09/30/2002 09:53:29 AM
>
> Please respond to axis-dev@xml.apache.org
>
> To:    axis-dev@xml.apache.org
> cc:
> Subject:    RE: [axis] WSDL2Java enhancements for WSIF
>
>
>
>
> Absolutely, fixing WSDL2Java so it doesn't abend is probably what I
really
> meant but just described badly. Ignoring the extra WSDL should work fine.
>
> I don't know about a new API and a WSDL2WSIF command, it seems a little
> over kill when all WSIF needs is to suppress writing out the stub
classes.
> How about then a -xs switch to say don't generate stubs. Later other
> options such as -xt (don't generate types) could be added if anyone ever
> wanted it. Actually to do this would probably require creating the new
API
> anyway with new methods on the Emiter and Parser classes. If there was a
> new WSDL2WSIF command, would it be part of AXIS or WSIF?
>
>        ...ant
>
> Anthony Elder
> ant.elder@uk.ibm.com
> Web Services Development
> IBM UK Laboratories,  Hursley Park
> (+44) 01962 818320, x248320, MP208.
>
>
> Russell Butek/Austin/IBM@IBMUS on 30/09/2002 15:08:43
>
> Please respond to axis-dev@xml.apache.org
>
> To:    axis-dev@xml.apache.org
> cc:
> Subject:    RE: [axis] WSDL2Java enhancements for WSIF
>
>
>
>
>
>
>
> Seems to me that we need a new extension - WSDL2WSIF.  This could either
> extend WSDL2Java or extend the base framework WSDL2.
>
> If I could get some more information from you folks about what you
actually
> generate, I could help create this extension (next week - this week I'm
> rather strapped for time).
>
> Russell Butek
> butek@us.ibm.com
>
>
> Tom Jordahl <tomj@macromedia.com> on 09/30/2002 08:46:20 AM
>
> Please respond to axis-dev@xml.apache.org
>
> To:    "'axis-dev@xml.apache.org'" <axis-dev@xml.apache.org>
> cc:
> Subject:    RE: [axis] WSDL2Java enhancements for WSIF
>
>
>
> Anthony,
>
> I would think that a different approach would be much better:
>
> 1. Fix WSDL2Java so that it either ignores or correctly processes the
WSDL
> you run it.
>
> Then
>
> 2. Enhance WSDL2Java with an API that gives more control over which
> artifacts you want/need generated.  This MAY be reasonable to expose on
the
> command line, but lets not give a poor user too many obscure options. :-)
>
> This sounds like the kind of changes that would be more widely beneficial
> to everyone, don't you think?
>
> --
> Tom Jordahl
> Macromedia Server Development
>
>
>
> -----Original Message-----
> From: Anthony Elder [mailto:ant.elder@uk.ibm.com]
> Sent: Monday, September 30, 2002 7:53 AM
> To: axis-dev@xml.apache.org
> Subject: [axis] WSDL2Java enhancements for WSIF
>
>
> In WSIF we use the AXIS WSDL2Java tool to generate the interfaces and
> complex type classes that WSIF requires.
>
> Currently WSDL2Java will always also generate the stub classes that WSIF
> does not require, and also when using WSDL that includes some of the WSIF
> specific bindings WSDL2Java will abend. This isn't a problem as the abend
> happens after the classes WSIF requires have been written out, and its
easy
> enough to delete the stubs WSIF doesn't use, but it would be nice from
the
> WSIF perspective if WSDL2Java had a parameter which said to only to
> generate the WSIF required classes.
>
> If we made this change, say adding a -w switch to WSDL2Java and all the
> other associated changes to do this, would this be considered for adding
to
> the standard AXIS WSDL2Java?
>
>        ...ant
>
> Anthony Elder
> ant.elder@uk.ibm.com
> Web Services Development
> IBM UK Laboratories,  Hursley Park
>  (+44) 01962 818320, x248320, MP208.
>
>
>
>
>
>
>







Mime
View raw message