Чтобы ответить на ваш вопрос, это невозможно с помощью стандартного JAXB.

ользую Jaxb для генерации XML-запроса. Ниже приведены все детали кода. Я также попробовал информацию о пакете, но у меня это не сработало. Как я хочу добавить пространство имен для каждого тега XML объекта.

Надеюсь, вы, ребята, поняли мою точку зрения. Я делаю что-то неправильно или чего-то не хватает? или это возможно в JAXB Java.

Требуемый выход

<ns0:CustomizedBundlesSubscriptionPortalResultMsg xmlns:ns0="http://www.herman.com/schemas/SubscriptionCustomizedBundles.xsd">
 <ns1:ResultHeader xmlns:ns1="http://www.herman.pk/eil/common_service/types/common_types/v1">
    <ns1:RequestID>1</ns1:RequestID>
    <ns1:Timestamp>20180518160833</ns1:Timestamp>
 </ns1:ResultHeader>
 <ns0:CustomizedBundlesResponseMessage>
    <ns0:AcctChgRec>
       <ns1:AccountType xmlns:ns1="http://www.herman.com/bme/cbsinterface/common">2000</ns1:AccountType>
       <ns1:BalanceId xmlns:ns1="http://www.herman.com/bme/cbsinterface/common">999000000016059109</ns1:BalanceId>
    </ns0:AcctChgRec>
 </ns0:CustomizedBundlesResponseMessage>
</ns0:CustomizedBundlesSubscriptionPortalResultMsg>

Выход я получаю

<ns0:CustomizedBundlesSubscriptionPortalResultMsg xmlns:ns1="http://www.herman.pk/eil/common_service/types/common_types/v1" xmlns:ns0="http://www.herman.com/schemas/SubscriptionCustomizedBundles.xsd" xmlns:ns3="http://www.herman.com/bme/cbsinterface/common">
    <ns1:ResultHeader>
        <ns1:RequestID>1</ns1:RequestID>
        <ns1:Timestamp>20180518160833</ns1:Timestamp>
    </ns1:ResultHeader>
    <ns0:CustomizedBundlesResponseMessage>
        <ns0:AcctChgRec>
            <ns3:AccountType>2000</ns3:AccountType>
            <ns3:BalanceId>999000000016059109</ns3:BalanceId>
        </ns0:AcctChgRec>
    </ns0:CustomizedBundlesResponseMessage>
</ns0:CustomizedBundlesSubscriptionPortalResultMsg>

Ниже мой JAXB Родительский Объектный Класс Java

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "resultHeader",
    "customizedBundlesResponseMessage"
})
@XmlRootElement(name = "CustomizedBundlesSubscriptionPortalResultMsg")
public class CustomizedBundlesSubscriptionPortalResultMsg {

    @XmlElement(name = "ResultHeader", namespace = "http://www.herman.pk/eil/common_service/types/common_types/v1")
    protected ResultHeaderType resultHeader;
    @XmlElement(name = "CustomizedBundlesResponseMessage")
    protected CustomizedBundlesResponseMessage customizedBundlesResponseMessage;
}

Ниже мой внутренний Java-класс JAXB Object

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "acctChgRec"
})
@XmlRootElement(name = "CustomizedBundlesResponseMessage")
public class CustomizedBundlesResponseMessage {

    @XmlElement(name = "AcctChgRec")
    protected List<AcctChgRecType> acctChgRec;
}

Ниже мой класс объекта AcctChgRecType JAXB

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "AcctChgRecType", propOrder = {

})
public class AcctChgRecType {

    @XmlElement(name = "AccountType", required = true, nillable = true)
    protected String accountType;
    @XmlElement(name = "BalanceId", required = true, type = Long.class, nillable = true)
}

Ответы на вопрос(1)

Ваш ответ на вопрос