У меня есть wsdl (у меня нет файла .xsd), и я хочу сгенерировать классы из него. Использование wsimport Я получаю дерево классов, которое является стандартным отображением самих схем webservice и его зависимостей. Я получаю что-то вроде com -> (microsoft, mycompany), org -> (apache).jaxb привязка настроек без наличия xsd
Однако мне нужно переназначить пакет com.mycompany и все классы внутри com.mycompany.test.
Итак, я попытался использовать опцию -b импорта ws, создав docbinding.xml, который является XML-схемой настройки схемы. Содержание:
<jxb:bindings version="2.1" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<jxb:bindings node="wsdl:definitions/wsdl:types/xsd:schema[@targetNamespace='http://mycompany.com/test/']">
<jaxb:package name="com.mycompany.test"/>
</jxb:bindings>
</jxb:bindings>
запуска wsimport с этим синтаксисом:
wsimport -p com.mycompany -b docbinding.xml https://mycompany.com/nicews/test.svc?wsdl
я получить первоначальную ошибку, которая останавливает генерацию классов:
[ERROR] XPath error: null
...
Как я могу исправить связывание XML?