Дублирующийся API создается в WSO2 API Manager Publisher - PullRequest
2 голосов
/ 15 января 2020

Я опубликовал API с именем «DocumentAPI», после публикации я могу найти два API с именем «DocumentAPI» в издателе. В магазине можно найти только один API с именем «DocumentAPI». Попытка удаления, повторного создания и повторной публикации API, а также перезапустила мой сервер.

  1. В текущей среде есть два шлюза (внутренний (MZ) и внешний (DMZ)), что означает, что некоторые API указывают c для внутреннего, а некоторые - c на внешний, и некоторые из них публикуются на обоих шлюзах (для обоих шлюзов публикуется проблемный c API)

  2. Нет настройки синхронизации между этими двумя узлами.

  3. Мы находимся на APIM-2.6.0

  4. В таблицах AM_API, REG_PATH нет повторяющихся записей относительно проблемного c API. Только в пользовательском интерфейсе издателя мы видим два API с одинаковым именем, версией и conetxt, и когда я изменяю какой-либо один API, изменение сразу же переходит в другой API. В хранилище отображается только один API, и когда я тестирую этот API через Почтальон, последующие вызовы не выполняются.

Примечание. Публикация в полностью распределенной среде.

Ответы [ 2 ]

1 голос
/ 16 января 2020
  • Используете ли вы обновленный пакет APIM wum или ванильный пакет? Если это значение wum, каков уровень wum (AM_HOME / updates / wum)?
  • Вы пытались воссоздать новый API вместо этого имени «DocumentAPI» (с другим именем) и увидели ли вы та же проблема для этого при публикации на обоих узлах GW?
  • В APIM 2.6.0 мы видели аналогичную проблему, если мы создали API с прописными буквами (например, AbcAPi) и опубликовали его. Затем удалите его и попробуйте заново создать API с тем же именем, но строчными (например, abcApi) и опубликовать его sh. Затем мы видим два API на портале издателя, но не в пользовательском интерфейсе магазина. И AM Table имеет одну запись. Но в реестре есть два пути (как вы уже видели). Например:
    1. / _ система / управление / apimgt / applicationdata / provider / admin / admin / AbcAPi
    2. / _ система / управление / apimgt / applicationdata / provider / admin / abcApi Один путь для этого старого имени API и другой путь для нового API. С тех пор мы исправили это, и это исправление доступно в последнем обновленном пакете wum APIM 2.6.0. Поэтому вы заметили такие различия в обоих путях reg (выберите * из REG_PATH, где REG_PATH_VALUE). Если да, то это исправлено в последней версии APIM 2.6.0. Причина в том, что при удалении API остаются некоторые метаданные старого API, а при воссоздании реестра сохраняются оба пути.
0 голосов
/ 15 января 2020

При создании API в APIM wso2 он не позволяет создавать два API с одинаковыми именем, контекстом и версией (имя, контекст и версия должны быть уникальными). В соответствии с приведенными выше подробностями, мы надеемся, что оба API в узле издателя имеют одинаковые имя, контекст и версию.

  1. В вашей распределенной конфигурации сколько GW доступно (один или несколько)?
  2. Если имеется несколько узлов GW, используете ли вы какой-либо метод синхронизации артефактов развертывания, например NFS?
  3. Что такое версия APIM
  4. Замечаете ли вы две записи для вышеуказанного API в база данных AM (таблица AM_API)?
...