Как кэшировать xsds для разгрузки серверов w3c? - PullRequest
2 голосов
/ 29 апреля 2011

Я создаю веб-сервис на основе SAML-P и XACML, для которого требуется большое количество XSD. рассматривается JAX-B / XJC для каждой сборки. Это занимает вечность и крайне ненадежно, я думаю, из-за регулирования запросов XSD W3C для облегчения нагрузки на их серверы (на основе их публикации в блоге).

Хуже того, некоторые из XSD W3C содержат очевидные опечатки, поэтому их необходимо загрузить и пропатчить, а схему расположения ссылочных файлов отредактировать для загрузки локальных копий. Одна из основных схем SAML-P имеет эту проблему (двойной >> и крайне некорректные адреса импорта).

Я думаю, что есть способ заставить Eclipse (или JAX-B, или что-то еще; не уверен, что это решит; возможно, Xerces?) Поддерживать кэш XSD и заменять их ссылками на http: // refs в моей сборке. (возможно, даже для всей системы). Но мне не удалось отследить это до работоспособного рецепта. Может кто-нибудь помочь? Спасибо!

1 Ответ

2 голосов
/ 29 апреля 2011

Для этого можно использовать CatalogResolver:

...