API подключения, опубликованный API на портале разработчика, не может работать

https://new-console.ng.bluemix.net/docs/services/apiconnect/apic_tutorial.html#apic_tutorial_01

  • Перейдите по предыдущей ссылке, чтобы создать петлевой проект с именем ibmsvt и провести локальное тестирование, мы можем опубликовать и получить.

  • затем опубликуйте этот api как запущенное приложение api на bluemix, и мы получим целевой URL-адрес api и файл tls.

  • введите url и tls в вызове дизайнера api и снова опубликуйте продукт api.

  • проверьте службу api connect, и мы обнаружим, что опубликованный продукт api был опубликован, настройте портал разработчика и пригласите разработчиков

  • войдите на портал разработчика и зарегистрируйте одно приложение

  • подписать приложение на продукт api и запустить команду post.

Мы увидим, что мы получаем только информацию об ошибке «Невозможно опубликовать» ...

Информацию об ошибке и файл api см. Во вложении.


person Erimer Lin    schedule 08.06.2016    source источник


Ответы (2)


Судя по предоставленному снимку экрана, похоже, что вы показываете журналы для приложения loopback, развернутого на bluemix. Также похоже, что запрос POST от APIConnect также попал в приложение Bluemix. Однако я не могу увидеть точное сообщение об ошибке. Какую ошибку вы получили при выполнении POST из APIConnect? Я подозреваю, что POST не включал $ (request.path), на что вы изменили URL-адрес вызова? Можете ли вы предоставить раздел x-ibm-configuration в вашем yaml-файле? Он будет находиться в вашем / definitions.

Спасибо и всего наилучшего,

person Peter Szeto    schedule 10.06.2016
comment
Проблема была именно в этом - пользователь не включил $ (request.path) в URL-адрес. - person Alex da Silva; 14.06.2016

У меня просто возникла точная проблема, и я несколько дней боролся за переделку учебника, но все равно сталкивался с той же проблемой, пока не нашел верхний ответ и не дал мне подсказку.

В руководстве говорится следующее:

Обновите следующие поля значениями, которые вы скопировали ранее: Invoke URL: вставьте целевой URL API. Необходимо указать защищенный протокол HTTPS. Например:

apiconnect-ca3283b0-525c-488d-993b-3ab72fca78d0.youremail-dev.apic.mybluemix.net

Профиль TLS: вставьте API-интерфейс вызова tls-profile. Например:

client:Loopback-client

Исходный URL-адрес: $(runtime-url)$(request.path)$(request.search).

И правильный URL-адрес после обновления выглядит следующим образом:

https://apiconnect-ca3283b0-525c-488d-993b-3ab72fca78d0.youremail-dev.apic.mybluemix.net $ (request.path)

перед $ (request.path) не должно быть косой черты, а $ (request.search) следует удалить.

Я также проверил обучающее видео, оно тоже похоже на это, но экран для этого шага исчезает очень быстро, вы обычно не обращаете внимания на эту деталь. person Zhigang Ji    schedule 17.07.2016