ws jaxb настраиваемое внешнее сопоставление - PullRequest
3 голосов
/ 11 августа 2011

Я должен сделать пользовательский файл внешнего сопоставления 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

1 Ответ

0 голосов
/ 07 июня 2012

Я сталкивался с вашим вопросом при исследовании той же проблемы.

На этой странице можно найти несколько неясных подсказок: http://jaxb.java.net/guide/Dealing_with_errors.html

Причины появления сообщения «пустой целевой узел» указаны внизу этой страницы.

...