И BizTalk, и JAX-B имеют проблемы с работой с полезной нагрузкой по разным причинам. ID / IDREF поддерживаются параметры схемы XML, но каждая реализация, похоже, имеет проблемы с их потреблением.
Для JAX-B, когда указаны и idref, и nil = true, он не может распределить полезную нагрузку на объекты:
<b:xyz z:ref="5" nil="true" />
Удаление nil = true или установка сохранения ссылки на объект на false (т. Е. Не возвращение полезной нагрузки, использующей возможность idref, означает, что Java-кодеры могут обойти это.
BizTalk может обойти эту проблему путем повторного увлажнения xml без поддержки idref с помощью преобразований xslt или других средств.
Нашим решением было обеспечить отключение сохранения ссылок на объекты. тогда обе системы смогли интегрироваться без особых хлопот.