I try to write some schemas for interaction of a Java web app with a mainframe application. While we write the schemas the document structure is more or less given by an interface we have to use. We use a given third party library that does all the dirty work for us (connecting to host etc.), what we have to do is to create XML documents representing requests to and responses from the mainframe.
We use XMLBeans for compiling schemas and generating Java sources. Right now I'm stuck with a compilation problem. My IDE (RAD 7) gives the following error:
and one of the included schemas:
As you can see, MAPOSTKORBgetDataEkZeile is based on ZeileType. While ZeileType is rather simple, MAPOSTKORBgetDataEkZeile consists of several elements none of them mandatory. The basic idea behind ZeilenType (and element Zeile) is we use Zeile(nType) for every response, but each response's Zeile may consist of different elements thus it is defined by a different complexType. In this specific case, we want to use MAPOSTKORB's MAPOSTKORBgetDataEkZeile for two response's. Since its elements aren't mandatory this should work, but we get the error mentioned above.
So, what's the problem here? May be a basic, simple explanation of UPA rule is helpfull, I guess I just don't understand this constraint.
posted 6 years ago
Duh, forget it, there's a duplicate line in the first schema ("Bezeichnung"). After removing the line compilation works.