2015-03-24 4 views
0

У меня возникла проблема с регистрацией веб-службы REST в администраторе ColdFusion. Я использую ColdFusion 10 на сервере Windows, и ошибка, которую я получаю после попытки регистрации веб-службы REST:Ошибка регистрации службы REST в ColdFusion 10

Ошибка регистрации службы REST. Убедитесь, что вы ввели правильное сопоставление и путь. Приложение CA невозможно инициализировать. Причина: информация подписчика класса com.sun.xml.bind.Util не совпадает с информацией о подписчиках других классов в одном пакете Информация о подписчике класса "com.sun.xml.bind.Util" не указана соответствие подписывающей информации других классов в одном пакете

Я пробовал зарегистрировать службу как для удаленного экземпляра CF, так и для моего локального экземпляра. Локально я пробовал только реальную базовую услугу - в основном один CFC в приложении сам по себе, но все равно получаю ошибку. Я помещаю как путь Root, так и Service Mapping, поскольку у меня нет приложения Application.cfc в приложении.

Любые идеи?

+0

Не знаете, почему это было приостановлено. Было бы здорово, если бы кто-нибудь из них действительно пытался * помочь *, объяснив, почему. –

+1

Связано ли это с этим: http://stackoverflow.com/a/2877355/894061? Мне кажется, что, возможно, ваш путь к классам может указывать на те же пакеты с разными версиями, которые нужны CF? Это дикая догадка. Можете ли вы опубликовать код для вашей локальной/основной попытки, просто для хорошей меры. –

+0

Спасибо Адаму! Вы были правы относительно Пути Класса. Моя локальная настройка CF включала некоторые пользовательские JAR, и после удаления этих и перезапуска экземпляров я смог добавить службу REST. Теперь мне нужно будет повторно добавить эти JAR и посмотреть, работает ли мой WS, но теоретически это нужно - иначе я не уверен, как зарегистрировать службу на удаленном экземпляре. –

ответ

1

Эта проблема была вызвана некоторыми пользовательскими JAR-файлами, которые я указывал в пути класса ColdFusion в настройках Java и JVM в утилите CF Admin. Я удалил ссылки на JAR и перезапустил экземпляр CF. Затем мне удалось успешно добавить REST WS. Затем я повторно добавил JAR в путь к классу и перезапустил экземпляр. Правильное решение, вероятно, состоит в том, чтобы перекомпилировать эти JAR с тем же сертификатом, но если у вас нет доступа к исходному коду, это может быть единственным обходным решением.

+0

Проблема, которую я сейчас вижу, заключается в том, что после добавления моего веб-сервиса я снова добавляю файлы JAR в путь сборки, мой веб-сервис не работает. Несмотря на то, что я смог добавить свой WS в утилиту CF Admin, CF должен делать какую-то компиляцию на лету, и получить ту же ошибку и не дать ей работать. Если я удалю JAR-файлы из пути сборки, WS работает нормально. –

+0

Я просто буду отвечать на свой вопрос и отвечать - возможно, это поможет кому-то другому. Я сузил это до трех файлов JAR, связанных с JAXB: jaxb-api-2.27.jar, jaxb-core-2.2.7.jar и jaxb-imple-2.2.7.jar. Если они есть в вашем пути сборки Java, это может привести к конфликту с службами REST. Имеет смысл, потому что CF, вероятно, использует разные подписанные версии одних и тех же классов для маршаллинга/unmarshalling. Если вы удалите эти JAR или не включите их в свой путь сборки, тогда будут работать веб-службы REST, но ваш другой материал может сломаться ... –

Смежные вопросы