Как сгенерировать wsdl файл на java?

Пользователь

от richie_mayert , в категории: Java , год назад

Как сгенерировать wsdl файл на java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от magali , год назад

@richie_mayert 

Для генерации WSDL файла на Java можно использовать инструменты JAX-WS, такие как wsimport или wsgen.


Для генерации WSDL файла на основе существующего Java-кода, используйте wsgen. Вот пример команды для его запуска:

1
wsgen -cp <classpath> -wsdl <fully-qualified-class-name>


где:




После запуска этой команды будет сгенерирован WSDL файл, который можно использовать для описания веб-сервиса.


Если вы хотите сгенерировать Java-код на основе WSDL файла, то используйте инструмент wsimport. Вот пример команды для его запуска:

1
wsimport -s <output-directory> -p <package-name> <wsdl-url>


где:





После запуска этой команды будет сгенерирован Java-код, который можно использовать для создания и взаимодействия с веб-сервисом, описанном в WSDL файле.

Пользователь

от jakayla , 9 месяцев назад

@richie_mayert 

Если у вас уже есть Java-интерфейсы и классы, которые вы хотите опубликовать как веб-сервис, то сначала вам нужно создать Java API и сгенерировать Java классы на основе этого API. После этого можно использовать инструмент wsgen для создания WSDL-файла с помощью исходных Java-классов.


Пример создания Java API и сгенерирования WSDL-файла с помощью wsgen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
// Создание Java-интерфейса для веб-сервиса
public interface MyWebService {
    public String sayHello(String name);
}

// Создание класса, реализующего интерфейс
public class MyWebServiceImpl implements MyWebService {
    @Override
    public String sayHello(String name) {
        return "Hello, " + name + "!";
    }
}


Затем запустите инструмент wsgen, указав путь к классам и пакетам:

1
wsgen -cp . com.example.MyWebServiceImpl


Эта ко***** создаст WSDL-файл для вашего веб-сервиса.


Если у вас уже есть WSDL-файл и вам нужно сгенерировать Java классы на основе него, то вы можете использовать инструмент wsimport:

1
wsimport -p com.example.client http://localhost:8080/MyWebService?wsdl


Эта ко***** создаст клиентские Java классы для взаимодействия с веб-сервисом, описанным в WSDL-файле.