XML urn: # не является допустимым значением для anyURI - PullRequest
2 голосов
/ 02 ноября 2009

У меня возникли некоторые проблемы с файлом wsdl, который не поддерживается в SONIC Workbench, а в Oracle JDev и SOAP UI допускается. В основном парсер утверждает следующее:

Исключение:

org.xml.sax.SAXException: Ошибка: cvc-datatype-valid.1.2.1: 'urn: #ApproveAccumulatedProvisioningRolesSoap' не является допустимым значением для anyURI.

at org.wsi.xml.XMLUtils $ ErrHandler.error (Неизвестный источник) ....

Насколько я понимаю, урна: # это причина. Может кто-нибудь обратиться ко мне, где найти дополнительную информацию о таком синтаксисе, и, в конце концов, как я могу это исправить.

Заранее спасибо. Алессандро Илардо

Ответы [ 3 ]

2 голосов
/ 02 ноября 2009

Попробуйте это:

urn://#ApproveAccumulatedProvisioningRolesSoap
0 голосов
/ 26 августа 2014

Если вы используете компилятор xjc, вы можете добавить -nv attr, чтобы отключить строгую проверку схемы xsd.

0 голосов
/ 10 ноября 2009

Обратите внимание, что в соответствии с rfc2396 символ двоеточия зарезервирован в формате URI. Исключение SAXException, которое вы получаете, является исключением проверки, и, возможно, Oracle JDev и SOAP UI пропускают проверку URI, а SONIC Workbench - нет.

Символ хеша (или резкий) является разделителем между URI и фрагментом и поэтому не допускается в синтаксисе URI. Это может быть более вероятной причиной исключения проверки. Если у вас есть доступ к схеме, по которой проверяется xml, я предлагаю вам выполнить собственную проверку с помощью, например. xmllint или аналогичный инструмент XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...