Дубликат API создается в WSO2 API Manager Publisher

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

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

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

  3. Мы на APIM-2.6.0

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

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


person RaviKumar    schedule 15.01.2020    source источник


Ответы (2)


  • Вы используете обновленный пакет APIM wum или ванильный пакет? Если это wum, то какой уровень wum (AM_HOME/updates/wum)?
  • Вы пытались воссоздать новый API вместо этого имени «DocumentAPI» (с другим именем) и видели ли вы ту же проблему для этого при публикации на обоих узлах GW?
  • In APIM 2.6.0 we have seen a similar issue if we have created an API with uppercase (eg: AbcAPi) and published it. Then remove it and try to recreate the api with the same name but lowercase (eg: abcApi) and publish it. Then we can see two API in the publisher portal but not in Store UI. And AM Table has one record. But in the registry has two paths (as you have seen). eg:
    1. /_system/governance/apimgt/applicationdata/provider/admin/AbcAPi
    2. /_system/governance/apimgt/applicationdata/provider/admin/abcApi Один путь для этого старого имени API и другой путь для нового API. С тех пор мы исправили это, и это исправление доступно в последнем обновленном пакете APIM 2.6.0. Поэтому вы заметили такие различия в обоих reg-путях (выберите * из REG_PATH, где REG_PATH_VALUE). Если да, это исправлено в последней версии APIM 2.6.0. Причина здесь в том, что при удалении API остаются некоторые метаданные старого API, а при воссоздании реестра сохраняются оба пути.
person Nadee Poornima    schedule 16.01.2020

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

  1. Сколько GW доступно в вашей распределенной системе (один или несколько)?
  2. Если у вас несколько узлов GW, используете ли вы какой-либо метод синхронизации артефактов развертывания, например NFS?
  3. Что такое версия APIM
  4. Вы заметили две записи для вышеуказанного API в базе данных AM (таблица AM_API)?
person Nadee Poornima    schedule 15.01.2020
comment
добавлена ​​необходимая информация в описание проблемы, пожалуйста, посмотрите! - person RaviKumar; 16.01.2020
comment
- Вы используете обновленный пакет APIM wum или ванильный пакет? Если это wum, то какой уровень wum(‹AM_HOME›/updates/wum)? - Пытались ли вы воссоздать новый API вместо этого имени DocumentAPI (с другим именем) и видели ли вы ту же проблему для этого при публикации на обоих узлах GW? - person Nadee Poornima; 16.01.2020