Я использую Apache CXF 2.4.2 для реализации веб-службы SOAP.Я следовал / адаптировал учебник (см. Следующую ссылку) для создания веб-сервиса по контракту.
http://confluence.highsource.org/display/HJ3/Apache+CXF+Tutorial+-+Building+JAX-WS,+JAXB+and+JPA-based+web+service+with+Apache+CXF,+Spring+and+Hyperjaxb3
В этом примере вы можете увидеть wsdl иXSD-файл, который содержит модель данных.Эта модель данных импортируется файлом wsdl.После этого я генерирую код с помощью Maven cxf-codegen-plugin (v. 2.4.2).Все вроде нормально.Я могу скомпилировать свой проект, а также использовать веб-сервис на своем локальном компьютере с помощью обозревателя Eclipse Webservices.
Но на другом компьютере я вижу только операции веб-сервиса.Wsdl не содержит модель данных (http://***:18080/webservice/Test?wsdl), а другой потребитель не может сгенерировать клиента.
Я проверил другой случай, когда я помещаю объявления типов данных непосредственно в wsdl, но эффект тот же :-(Кажется, что Apache CXF создает на лету новый wsdl.
написать wsdl -> генерировать код -> apache cxf генерирует wsdl на лету
Есть ли переключатели, где я могу изменить это поведение?
Спасибо
~ Крис