mental.dIseASe
Lieutenant
- Registriert
- Dez. 2008
- Beiträge
- 665
Guten Abend,
ich habe vor mir zwei Bindings für die xsd von pain.001.003.03, also Sepa-Gutschriften in Version 2.7, zu liegen. Generiert wurden diese möglicherweise mit dem XJC-Plugin für Eclipse/STS:
Einmal PaymentInstructionInformationSCT:
und einmal CreditTransferTransactionInformationSCT:
Mein eigentliches Problem ist jetzt, dass PaymentInstructionInformationSCT nicht mit einer XmlRootElement-Annotation versehen wurde wie der CreditTransfer. In einem Stück Parser-/Importer-Code wird diese Annotation abgefragt, was bei der PaymentInstruction dann schief/null geht. Ich kann aber keinen Unterschied in der Art und Weise erkennen, wie diese beiden Typen in der xsd definiert sind. Beide sind complex und beide werden dort, wo sie referenziert werden, mit maxOccurs="unbound" verwendet.
Es besteht keine Möglichkeit, die generierte Klasse oder den Importer manuell zu ändern und die xsd ist sowieso tabu. Kann sich also jemand erklären, wieso eins mit und eins ohne XmlRootElement-Annotation generiert wird? Oder kann es jemand nachstellen? Oder muss man bei diesen Generatoren irgendeine Magic konfigurieren, die ich noch nicht kenne?
Ist vielleicht etwas speziell, aber vielleicht hatte ja jemand schonmal mit derlei Kram zutun und hat Lust, an einem Freitagabend in einer xsd zu schmökern.
ich habe vor mir zwei Bindings für die xsd von pain.001.003.03, also Sepa-Gutschriften in Version 2.7, zu liegen. Generiert wurden diese möglicherweise mit dem XJC-Plugin für Eclipse/STS:
Einmal PaymentInstructionInformationSCT:
Code:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "PaymentInstructionInformationSCT", propOrder = {
"pmtInfId",
"pmtMtd",
"btchBookg",
"nbOfTxs",
"ctrlSum",
"pmtTpInf",
"reqdExctnDt",
"dbtr",
"dbtrAcct",
"dbtrAgt",
"ultmtDbtr",
"chrgBr",
"cdtTrfTxInf"
})
public class PaymentInstructionInformationSCT {
Code:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "CreditTransferTransactionInformationSCT", propOrder = {
"pmtId",
"pmtTpInf",
"amt",
"chrgBr",
"ultmtDbtr",
"cdtrAgt",
"cdtr",
"cdtrAcct",
"ultmtCdtr",
"purp",
"rmtInf"
})
@XmlRootElement(name = "CdtTrfTxInf")
public class CreditTransferTransactionInformationSCT {
Mein eigentliches Problem ist jetzt, dass PaymentInstructionInformationSCT nicht mit einer XmlRootElement-Annotation versehen wurde wie der CreditTransfer. In einem Stück Parser-/Importer-Code wird diese Annotation abgefragt, was bei der PaymentInstruction dann schief/null geht. Ich kann aber keinen Unterschied in der Art und Weise erkennen, wie diese beiden Typen in der xsd definiert sind. Beide sind complex und beide werden dort, wo sie referenziert werden, mit maxOccurs="unbound" verwendet.
Es besteht keine Möglichkeit, die generierte Klasse oder den Importer manuell zu ändern und die xsd ist sowieso tabu. Kann sich also jemand erklären, wieso eins mit und eins ohne XmlRootElement-Annotation generiert wird? Oder kann es jemand nachstellen? Oder muss man bei diesen Generatoren irgendeine Magic konfigurieren, die ich noch nicht kenne?
Ist vielleicht etwas speziell, aber vielleicht hatte ja jemand schonmal mit derlei Kram zutun und hat Lust, an einem Freitagabend in einer xsd zu schmökern.