Apache CXF (с пружинной загрузкой) Как вернуть исходный файл WSDL (не сгенерированный cxf)? - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть WSDL и XSD схемы.Я генерирую java classes и service interface из него с помощью CXF.

Я создаю конечную точку SOAP с CXF:

@Bean
Endpoint endpoint() {
    EndpointImpl endpoint = new EndpointImpl(bus, myEndpoint);
    endpoint.publish(path);
    return endpoint;
}

Когда я открываю службу URl, я получаю сгенерированный WSDL, но мне нужноОригинал WSDl.

Как я могу вернуть original WSDL и не генерировать?

1 Ответ

0 голосов
/ 07 декабря 2018

AFAIK, это кажется невыполнимым (или не совсем простым), поскольку Apache CXF публикует конечную точку WS на основе своей реализации (и / или соответствующих сгенерированных источников для схем XML).CXF напрямую не использует WSDL и XSD, и поэтому WSDL конечной точки может немного отличаться от исходного WSDL.

Я использовал cxf-codegen-plugin для генерации кода Java из WSDL + XSD, затем реализовал бизнес-логику каждого сервиса и опубликовал их, используя Apache CXF <jax-ws>.Сгенерированный код хорошо аннотирован, поэтому кажется, что JAX-WS может использовать эти аннотации для получения очень близких результатов.Опубликованные WSDL немного отличаются от оригинальных WSDL, но их трудно заметить, если не эксперт.Вы можете найти источник проекта здесь: https://github.com/htr3n/loan-approval-portal.

Возможно, наиболее близким может быть использование Spring WS с <static-wsdl>.

...