Я должен сделать пользовательский файл внешнего сопоставления JAXB.Уже красный учебник об этом и не может найти ни одного подходящего примера настройки JAXB.Мой сценарий состоит в том, что у меня есть два WSDL-файла: основной WSDL и дополнительный WSDL, который входит в основной.А во вторичном файле WSDL есть одно определение complexType
, имя которого я хочу настроить.Кстати имя этого complexType objectFactory
.Итак, теперь вы знаете, что мне действительно нужно для этой внешней настройки.
Я зашел так далеко, что при запуске wsimport path-to-my-main-wsdl -b customBindings.jaxb
вывод выглядит как
[ERROR] XPath evaluation of "//xs:complexType[@name='objectFactory']" results in empty target node
line 2 of file:/customBindings.jaxb
Файл customBindings.jaxb
выглядит как
<jxb:bindings version="1.0" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<jxb:bindings schemaLocation="path-to-my-secondary-wsdl#types?schema1" node="//xs:complexType[@name='objectFactory']">
<jxb:class name="MyObjectFactory" />
</jxb:bindings>
</jxb:bindings>
Во второй строке моего customBindings.jaxb
файла находятся два свойства schemaLocation
и node
.Должно ли свойство schemaLocation
указывать на основной WSDL или вторичный WSDl?И свойство node
- это точный путь (XPath) к требуемому complexType или это нормально?А что с пространствами имен в XPath (свойство node
), оно должно быть xs
или как?И что на самом деле эти types
и schema1
означает в schemaLocation
?
thx