Ошибка: схема не может содержать два глобальных компонента с одинаковым именем - PullRequest
0 голосов
/ 26 апреля 2019

В MuleSoft.U Основы разработки: пошаговое руководство 8-1, шаг 39, я пытаюсь развернуть проект, но он терпит неудачу. Консоль показывает следующую ошибку:

ОШИБКА 2019-04-24 17: 02: 29,203 [WrapperListener_start_runner] [событие:] org.mule.runtime.module.deployment.impl.internal.application.DefaultMuleApplication: null org.mule.runtime.api.exception. Полный список: org.xml.sax.SAXParseException; системный идентификатор: http://www.mulesoft.org/schema/mule/american-flights-api/current/mule-american-flights-api.xsd; номер строки: 186; номер столбца: 50; sch-props-correct.2: схема не может содержать два глобальных компонента с одинаковыми именами; эта схема содержит два вхождения 'http://www.mulesoft.org/schema/mule/american-flights-api,java.lang.StringEnumType'.

Как указано в этой теме: https://forums.mulesoft.com/questions/105886/mulesoftu-dev-fund-mule-4-wt-81-error-a-schema-can.html?childToView=106391#answer-106391

Я попытался изменить типы перечислений в центре разработки (а затем импортировать их в проект), но он продолжает отказывать (та же ошибка).

Я также проверил файлы схем в xml моей реализации, они являются правильным числом схем, и ни одна из них не удваивается.

Кажется, что проблемы начинаются, когда я подключаю свой проект к API в любой точке обмена. Тем не менее, этот API работает нормально, я использовал его раньше.

1 Ответ

0 голосов
/ 26 апреля 2019

Это не конфигурация xml в вашем проекте. Это конфигурация xml в соединителе к американским полетам api.

Как только вы изменили RAML, чтобы не включать enum:

Публикация измененного raml для обмена через API-дизайнер. Использование кнопки публикации для обмена.

Это создаст новую версию соединителя REST для вашей новой версии API.

В Anypoint Studio необходимо удалить модуль коннектора API для американских рейсов. В палитре Mule справа выберите модуль, щелкните правой кнопкой мыши и выберите «Удалить модуль».

Добавьте новый модуль с биржи и выберите новую последнюю версию вашего API-интерфейса для американских рейсов. В палитре Mule справа щелкните «Поиск в Exchange» и найдите американский соединитель. Убедитесь, что вы выбрали последнюю версию.

...