2013-05-03 3 views
1

Моя проблема при вызове wsimport из кода JAVA. У меня есть проект maven, и мне нужно авторизовать wsimport и получить результат вызова (это очень важно). Я нашел только один способ позвонить wsimport от cmd, используя exec(), но это не то, что мне нужно.Создание классов JAVA из wsdl во время выполнения

Возможно, кто-нибудь знает какой-либо API для использования wsimport из кода JAVA или некоторых альтернатив для wsimport для классов JAVA поколения из wsdl, подходящих для моих нужд.

ответ

1

Вы пробовали whit JAX-WS Maven Plugin?

В другой стороны, вы могли бы использовать библиотеку JAX-WS RI для создания клиента в некотором роде, как следующий:

package org.paulvargas.test; 

import com.sun.tools.ws.WsImport; 

public class MyWsdl2JavaTool { 
    public static void main(String[] args) throws Throwable { 
     WsImport.doMain("http://wsf.cdyne.com/WeatherWS/Weather.asmx?wsdl" 
                   .split("\\s+")); 
    } 
} 

Вы хотите компилировать отдельно?

Используйте метод javax.tools.ToolProvider.getSystemJavaCompiler() для получения экземпляра javax.tools.JavaCompiler

Смотреть еще:

+0

[Согласно этому документу] (http://jax-ws.java.net/nonav/jax-ws-20-fcs/arch/com/sun/tools/ws/WsImport.html), OP все еще имеет бит настройки, чтобы использовать класс 'wsimport' (classloading etc). Не могли бы вы включить это в свой ответ? – kolossus

0

Вы можете запустить команду на ЦМД с помощью Java также. Или создать пакетный файл и выполнить его из java.

Смежные вопросы