Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Декларативный инструмент для WSDL/SOAP а-ля Feign


Автор: Се ля ви 10.3.2019, 23:49
Приветствую, коллеги!

Пришлось вернуться к давно забытым WSDL/SOAP-сервисам, и возник вопрос - не придумали ли за всё это время ничего на тему декларативного их вызова? Ну типа как Feign c REST/JSON'ом или Spring Data с БД, т.е. если у нас есть такой сервис:
Код
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import static javax.jws.soap.SOAPBinding.Style.RPC;

@WebService
@SOAPBinding(style=RPC)
public class Hello {
  public String sayHello(String name) {
    return "Hello " + name;
  }
}

и опубликован он вот так:
Код
import javax.xml.ws.Endpoint;
public class ServiceStarter {
  public static void main(String... __) {
   String url = "http://localhost:1212/hello";
    Endpoint.publish(url, new Hello());
    System.out.println("Service started @ " + url);
  }
}

то я бы хотел, что бы для его вызова можно было написать что-то типа:
Код
@WsdlClient("http://localhost:1212/hello?wsdl")
public interface HelloClient {
  String sayHello(String name);
}

И после этого Autowire'ить его и дёргать эти методы - и что бы они работали.
Или по прежнему придётся юзать уродливый WebServiceTemplate или кодогенерацией по wsimport'у для этого?

Автор: Се ля ви 5.4.2019, 17:27
https://github.com/alfa-laboratory/cxf-ws-client-spring-boot-starter

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)