eclipse-ee4j / jaxb-ri

Jaxb RI
https://eclipse-ee4j.github.io/jaxb-ri/
BSD 3-Clause "New" or "Revised" License
198 stars 109 forks source link

JAXB sometimes can't apply a customisation in multiple compilation scenario. #484

Open Tomas-Kraus opened 16 years ago

Tomas-Kraus commented 16 years ago

We have a large project where the data layer is almost totally based on JAXB. We have multiple levels of schemas, and use xs:import and extensions heavily. Occasionally we have a problem where JAXB will refuse to run, saying that it cannot honour a customisation, usually from a base schema when compiling a sub-schema.

I finally managed to isolate a test case, see the files in the attached tar. The problem is the javaType customisation on core:ID (in core.xsd).

To reproduce:

xjc.sh core.xsd -d output -p generated.core.com.mycorp.model.common.datatypes

This compiles just the base schema, and works correctly.

xjc.sh core.xsd card.xsd -extension -b core.episode -d output -p generated.card.com.mycorp.model.common.datatypes

This demonstrates the base file being imported with the corresponding episode. This also works.

xjc.sh core.xsd iso8583.xsd testcase.xsd -extension -b core.episode -b iso8583.episode -d output -p generated.testcase.com.mycorp.model.common.datatypes

This case should be identical to the above, but breaks with the error below:

[ERROR] compiler was unable to honor this javaType customization. It is attached to a wrong place, or its inconsistent with other bindings. line 66 of file:/Users/colin/dev/platform/common/testcase/core.xsd

[ERROR] (the above customization is attached to the following location in the schema) line 61 of file:/Users/colin/dev/platform/common/testcase/core.xsd

This is a very urgent issue for us, any workaround until a fix is available would be greatly appreciated.

Environment

Operating System: Mac OS X Platform: Macintosh

Affected Versions

[2.1.6]

Tomas-Kraus commented 5 years ago
Tomas-Kraus commented 16 years ago

@glassfishrobot Commented Reported by nzlemming

Tomas-Kraus commented 16 years ago

@glassfishrobot Commented nzlemming said: Created an attachment (id=243) Test case files.

Tomas-Kraus commented 11 years ago

@glassfishrobot Commented pbober said: I've run across this issue in 2.2.6 and 2.2.7-b41. It's four years old so I am surprised there is nobody else reporting it. Are there plans to fix it?

Tomas-Kraus commented 11 years ago

@glassfishrobot Commented aledibe said: I'm having the same problem with the latest 2.2.7 version. Dis anybody found a fix/workaround?

Tomas-Kraus commented 11 years ago

@glassfishrobot Commented yaroska said: Hi,

The issue is really old. And because nobody else reporting it I assumed that it's fixed. I'll take a look at it.

– Iaroslav

Tomas-Kraus commented 8 years ago

@glassfishrobot Commented flutter said: As far as I can tell, it is NOT fixed in 2.2.11.

The expected behavior when using the episode mechanism would be that customizations are either ignored by the xjc run importing the episode, or that an XJC plugin gets the chance to process the customization found in the XSD imported via the episode. Both doesn't seem to work.

Tomas-Kraus commented 16 years ago

@glassfishrobot Commented File: testcase.tgz Attached By: nzlemming

Tomas-Kraus commented 16 years ago

@glassfishrobot Commented Was assigned to jaxb-issues

Tomas-Kraus commented 7 years ago

@glassfishrobot Commented This issue was imported from java.net JIRA JAXB-484