Как создать или упорядочить атрибуты, отличные от xmlns, для заголовка схемы

#java #web-services #jakarta-ee #jaxb2 #jaxb2-basics

#java #веб-сервисы #джакарта-ee #jaxb2 #jaxb2-основы

Вопрос:

Я могу создать атрибуты со всеми xmlns , однако не могу создать атрибуты ниже, которые не являются xmlns подобными ft:record="true" ft:status=""... , я просмотрел документ Java и весь Веб, но не могу найти решение или подход для добавления не xmlns атрибутов в заголовок схемы с использованием JAX-B. Есть ли в JAX-B какие-либо положения?

 <myaccount str:strns="true" ft:record="true" ft:status="" ft:num="0" xmlns:str="urn:ins.com:qmodel:wcpsstructs:v1">
</myaccount>
  

Ниже мой package-info.java :

 @XmlSchema(namespace = "urn:ins.com:qmodel:wcpsstructs:v1",
    elementFormDefault = XmlNsForm.QUALIFIED,
    xmlns={
         @XmlNs(namespaceURI="urn:ins.com:qmodel:wcpsstructs:v1", prefix = "str")
})
package com.mypackage.domain.outputspec;
import javax.xml.bind.annotation.*;
  

Мои зависимости Maven:

 <dependency>
    <groupId>javax.xml</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.1</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.2.7</version>
</dependency>
  

Комментарии:

1. Итак, вы говорите, что эти префиксы не могут быть установлены в заголовке? Другими словами, нет возможности устанавливать префиксы или атрибуты типа str: strns=»true» ft:record=»true» ft:status=»» ft: num=»0″ в заголовке во время маршалинга?

2. Да, вы поняли. Хотя я устанавливаю пространства имен, начинающиеся с xmlns, в package-info.java (опубликовано выше), но префиксы, которые не являются частью пространств имен, другими словами, независимы от пространств имен, похоже, что в заголовке нет положения для установки. Кстати, я использую это как запрос soap для вызова веб-службы, поэтому я создаю запрос или CDATA, и эти атрибуты являются частью запроса в соответствии с образцом, предоставленным нам клиентом или владельцем веб-службы .. 🙂

3. Я решил эту проблему по заданному мной вопросу. Использование аннотации атрибута Xml сделало свое дело.. В любом случае, спасибо.