Я прочитал много статей, посвященных моей текущей проблеме, но ни одно из решений статьи / потока не решило мою проблему.
Я использую SoapUI 5.5.0 (бесплатная версия) и пытаюсь получить токен доступа OAuth2 из API поставщика с помощью функции Get Token в разделе авторизации моего запроса. Я создал профиль и назначил ему следующую конфигурацию:
Я нажимаю кнопку «Получить Кнопка «Токен доступа», и SoapUI выдает предупреждение об ошибке «Не удалось получить токен доступа. Подробности см. В журнале SoapUI»
Вт 16 июня 09:57:51 CDT 2020: ОШИБКА: Ошибка при получении токена доступа OAuth 2 ** Вт 16 июня 09:57:51 CDT 2020: ОШИБКА: com.eviware.soapui.impl.rest.actions.oauth. OAuth2Exception: org. apache .oltu.oauth2.common.exception.OAuthSystemException: OAuthProblemException {error = 'invalid_request', description = 'Отсутствующие параметры: access_token', uri = 'null', state = 'null', scope = ' null ', redirectUri =' null ', responseStatus = 0, параметры = {}} **
* 1 024 *
Основываясь на этой ошибке, я провел довольно исчерпывающее исследование (на этом и других сайтах) и нашел альтернативные методы, включающие доступ к токену непосредственно из одного из моих groovy скриптов. Я попытался запустить следующий предложенный метод в сценарии groovy:
import com.eviware.soapui.impl.rest.actions.oauth.OltuOAuth2ClientFacade
def authContainer = testRunner.testCase.testSuite.project.OAuth2ProfileContainer
def profileName = "Automation"
def authProfile = authContainer.getProfileByName(profileName)
def clientFacade = new OltuOAuth2ClientFacade()
clientFacade.requestAccessToken(authProfile)
//To get the access token
def accessToken = authProfile.getAccessToken()
Когда я выполняю этот сценарий, я получаю следующую ошибку:
com. eviware.soapui.impl.rest.actions.oauth.OAuth2Exception: org. apache .oltu.oauth2.common.exception.OAuthSystemException: OAuthProblemException {error = 'invalid_request', description = 'Отсутствующие параметры: access_token', uri = ' null ', state =' null ', scope =' null ', redirectUri =' null ', responseStatus = 0, parameters = {}} ошибка в строке: 8
Он имеет проблема с вызовом метода clientFacade.requestAccessToken (authProfile) .
Обратите внимание, что в Postman я могу запросить токен доступа с того же URL-адреса, используя тот же тип потока, с теми же учетными данными клиента, без предоставленной области, и получить токен вообще без ошибок.
На данный момент я вынужден вручную получить токен с помощью Postman, а затем вставить его в поле Access Token в SoapUI, что не идеально. Я действительно хотел бы иметь возможность автоматизировать это в SoapUI. Любые предложения были бы замечательными. Спасибо!