3

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

Milan
  • 643
  • 4
  • 15
  • 31

3 Answers3

2

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
  • 562,542
  • 136
  • 1,062
  • 1,124
  • 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 Mar 23 '10 at 12:36
0

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
  • 588,226
  • 146
  • 1,060
  • 1,140
0

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
  • 57,943
  • 15
  • 89
  • 102