ant elder wrote:
Oh, one more thing as I don't know how  familiar you are with Axis2.

Java2WSDL has only recently been added to Axis2. There's been some code
there for a while but not finished. I think the first release officially
supporting it is 0.95 which was only released yesterday. If you look in the
0.95 release there still isn't a Java2WSDL.bat file, maybe that was an
oversight. It seems to work copying wsdl2java.bat to java2wsdl.bat and then
changing the 3rd to last line to end in Java2WSDL instead of WSDL2Java.

   ...ant

On 3/24/06, ant elder <[EMAIL PROTECTED]> wrote:
I've added a comment to the JIRA saying that you're looking at this. If
you get yourself a JIRA id (http://issues.apache.org/jira) you'll be able
to add comments to the JIRA with any progress as you go along (but its fine
to have discussion about it on the mailing list).

Jean-Sebastien said he'd tell you more about whats been already been done
for WSDL2Java so I'll leave that to him, but fyi here's a post he did
describing it:
http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/200603.mbox/[EMAIL 
PROTECTED]

Have a look at the tuscany-sca-tools and tuscany-sca-plugin projects.
Where ever they have something about wsdl2java you probably need to look at
adding something for java2wsdl.

I'd start with trying something simple - It could well be that the Axis2
Java2WSDL does most of what we need, so what you'll be adding will be simple
wrappers that delegate to it. If you run it against our helloworld sample
class the resulting wsdl should look something like the wsdl we use for
that:

http://svn.apache.org/repos/asf/incubator/tuscany/java/samples/helloworld/helloworldws/src/main/java/org/apache/tuscany/samples/helloworldws/HelloWorldServiceComponentImpl.java

http://svn.apache.org/repos/asf/incubator/tuscany/java/samples/helloworld/helloworldws/src/main/resources/wsdl/helloworld.wsdl


Our Java2WSDL needs to take into account the SCA annotations. That
HelloWorldServiceComponentImpl.java has the annotation @Service(
HelloWorldService.class). So that interface is what Java2WSDL should use
to get the operations in the WSDL, so you need to find a way to hook into
the Axis2 Java2WSDL to add code to pick up the annotation.

   ...ant


On 3/23/06, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:
Venkata Krishnan wrote:
Hello Everybody,
    I would like to contribute to Tuscany Java implementation (runtime
and
tools).  To start with I would like to help with some Tool
Development.
Looking up the Jira I found an item "Add Java2WSDL Tools" - (
https://issues.apache.org/jira/browse/TUSCANY-103) in the context of
Java
SCA Axis Integration .  Could we do something here?   What are the
requirements of this tool over and above the Java2WSDLTool being done
in
Axis2.   Could somebody provide pointers to this, please.  Thanks.

Regards
S Venkatakrishnan


Hi Venkata,

Welcome on board, we're definitely looking for help in that space. I can
try to give you an idea of the requirements I can think of.

We basically have two use cases for Java2WSDL:
(A) I'm an application developer and I'm building an SCA application out

of multiple components. In some of my components (e.g. POJO components)
I'll want to use Java interfaces, in some other components (let's
imagine BPEL or XSLT or other XML-ish component types), I'll want to use
WSDL portTypes instead, on my SCA entryPoints and externalServices, I'll
probably prefer to use WSDL portTypes as well because it'll be easier to
communicate the service contracts to other people this way. To be able
to use a mix of Java interfaces and WSDL portTypes in my application,
I'll need to  be able  to generate WSDL -> Java and Java -> WSDL, at
development time. I guess I'll need command line tools, and/or Maven
plugins to help me do that.

(B) I'm a Java developer, and I don't have any idea what WSDL is about.
I've built an application out of POJO components, using only Java
interfaces. I want to expose one of the services implemented by a POJO
component as a Web Service. To do this, I'm going to create an SCA
entryPoint with a Web Service binding, but here again I'm just going to
declare a Java interface - since again I have no idea what WSDL is about

and I don't actually care about it :). At some point I'll still need a
WSDL portType + binding + service to be generated to publish my Web
Service, so that consumers can get their hands on it and talk to it. For

this, we need to generate WSDL at deployment time maybe or even better
at runtime.

Hope this helps understand what we're trying to do. We've done some
initial work to integrate the Axis2 WSDL2Java tool (but the integration
is still rough and needs more work, so if you want you can also take a
look at that as well), and we have nothing yet for Java2WSDL.

Now how is that different from the Axis2 Java2WSDL? I'm not sure... the
closer the better I guess, it'll be interesting to see how their
Java2WSDL can be integrated and customized. I'm anticipating a few
differences as we have to consider multiple databindings including SDO,
our interfaces are also annotated with SCA specific annotations that may

impact what the generated WSDL will look like.

I'm sure this will trigger many more questions, and we'll probably
discover the answers as we go :) Please don't hesitate to ask on this
list. I'll also send a few pointers to what we've already done for
WSDL2Java later today.

--
Jean-Sebastien



Here are some pointers to the inital work we've done to integrate WSDL2Java:

- WSDL2Java command line generator: see http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/tools/src/main/java/org/apache/tuscany/tools/wsdl2java/generate
The main class is WSDL2JavaGenerator.

- WSDL2Java Maven 2 plugin: see http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/plugin/src/main/java/org/apache/tuscany/tools/wsdl2java/plugin

- For an example of how to use the Maven plugin: see the bigbank/account sample and its pom.xml file in http://svn.apache.org/repos/asf/incubator/tuscany/java/samples/bigbank/account

--
Jean-Sebastien

Reply via email to