Я работаю над реализацией, которая будет использовать wsdl, который я получил от поставщика. Наш проект работает на Spring и CXF, и я хотел бы создать банку, которая позволит мне получить доступ к службам wsdl этого поставщика, но я сталкиваюсь с проблемами пути к классам.
Используя wsdl2java CXF, я могу сгенерировать код, который действует следующим образом:
WSDL_LOCATION = new URL("file:SomeService.wsdl");
Для службы требуется, чтобы wsdl находился в пути к классам, но я хотел бы связать его в банке, чтобы его можно было распространять как автономную банку. Используя инструмент wsdl2java, я могу указать строку в экземпляре URL-адреса на все, что мне нужно. Однако я не нашел комбинации пользовательской строки и местоположения файла wsdl внутри банки, которая работает.
Единственный способ заставить это работать так, как я хочу, - это поместить файл wsdl в ту же папку, что и SomeService.class, и использовать следующую строку:
WSDL_LOCATION = TrackService.class.getResource("TrackService_v4.wsdl");
Однако у этого есть обратная сторона: мне приходится вручную редактировать код Java и компилировать его самостоятельно. Это нежелательно, потому что в конечном итоге мы хотели бы сделать этот процесс частью нашей сборки maven и позволить wsdl2java автоматически выполнять генерацию и компиляцию.
Я согласен с тем, что wsdl находится где угодно в банке, но я не знаю, что передать wsdl2java, чтобы он ссылался на файл внутри банки.
Есть ли у кого-нибудь предложения или опыт в этом?