В дополнение к ответу Элитного Джентльмена , вот мои шаги, которые я успешно использовал для создания классов, чтобы иметь возможность использовать веб-сервис: Команда:
wsimport -Xnocompile -keep -b binding.xml wsdlFile.wsdl
Объяснение:
- '- Xnocompile' подавляет генерацию файлов .class
- '- keep' гарантирует, что сгенерированные файлы Java не будут удалены (по умолчанию остаются только файлы .class)
- '- b' указывает файл конфигурации привязки.Это необходимо!(см. ниже)
У меня была проблема с тем, что классы Java содержали классы-оболочки JAXBElement<Type>
.Так что вместо члена класса типа String
я бы получил тип JAXBElement<String>
, который ужасно использовать.С ключом -b
для wsimport
и следующим файлом binding.xml
вы получите правильные типы:
<jaxb:bindings version="2.0"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<jaxb:bindings>
<jaxb:globalBindings generateElementProperty="false" />
</jaxb:bindings>
</jaxb:bindings>
Надеюсь, это поможет.wsimport
затем генерирует все необходимые классы, а также класс, содержащий методы для всех методов ваших веб-сервисов.
По умолчанию эти методы не имеют тайм-аута чтения (проблемы с сетью во время запроса ...) см. здесь для вопроса, который у меня был тогда.