views:

250

answers:

3

I used wsimport command line tool for creating classses but I want to do it from the java code. Any idea?

A: 

You can use the wsimport ant task programatically.

You can do this by using the task class - com.sun.tools.ws.ant.WsImport. Instantiate it, set its properties (as defined on the task documentation), and call the execute() method.

Bozho
I cant see how I can execute wsimport from java
Milan
@Milan see my update. Now it should be clearer
Bozho
A: 

What you are trying to achieve is not typical Java Web Services flow. But you can achieve this with dynamic JVM based Groovy language using GroovyWS module.

Mykola Golubyev
A: 

It is possible to call the WsImport main() method:

import com.sun.tools.ws.WsImport;

...

String[] args = {"put", "your", "arguments", "here"};
WsImport.main(args);

I think that this is what the Ant task does.


Update: I'm not sure to understand what you're trying to do (and I don't think that you want to generate source code and compile it during runtime).

If the question is actually about doing dynamic invocation, JAX-WS's dynamic invocation interface (DII) is the javax.xml.ws.Dispatch object. Check JAX-WS's dynamic Dispatch interface.

Pascal Thivent
I've been trying to understand what he's trying to do for a while, and I finally I came to the conclusion that he wants something like http://www.soapclient.com/soaptest.html
Bozho
yes, that is what I want to do. But alone
Milan