Я использую NetBeans, и у меня есть два проекта:
- Модуль EJB для создания веб-сервиса и его развертывания в GlassFish
- Простой клиент консоли для тестирования и использования этого веб-сервиса
Для веб-службы я использую XSD со смешанными элементами контента. Добавление файла привязки для импорта JAXB с использованием следующего кода:
<?xml version="1.0" encoding="UTF-8"?>
<jaxb:bindings
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc= "http://java.sun.com/xml/ns/jaxb/xjc" jaxb:extensionBindingPrefixes="xjc"
jaxb:version="2.0">
<jaxb:globalBindings generateMixedExtensions="true"/>
</jaxb:bindings>
Он сгенерировал этот код:
@XmlMixed
@OverrideAnnotationOf
protected List<Serializable> contentOverrideForED;
Я могу жить с этим сгенерированным кодом, хотя он не идеален.
Моя проблема с клиентом, для которого я добавил ссылку на веб-службу для моего сгенерированного и развернутого веб-сервиса, запущенного просто на локальном хосте.
Использование одного и того же файла привязки в WSDL Customization: External Binding File
не дает код content
и не использует его напрямую в качестве опции для Wsimport
и не использует его как Jaxb option
. У меня такое чувство, что эта настройка проигнорирована каким-то образом, но как?
И почему исходное поколение JAXB включает его и почему его не использует wsimport? Я немного озадачен здесь.