2016-02-07 4 views
2

Я использую Restlet2.3 для запуска автоматизации тестирования REST API.Как указать HTTP-заголовок клиента Restlet с ключом как «Авторизация»

Новая функция имеет HTTP-заголовок клиента для передачи токена службе.

Form headers = (Form)resource.getRequestAttributes().get("org.restlet.http.headers"); 
if (headers == null) { 
    headers = new Form(); 
    resource.getRequestAttributes().put("org.restlet.http.headers", headers); 
}   

... 

headers.add(key, value); 

Код работает. Теперь HTTP-заголовок клиента определяется как «Авторизация». Вышеприведенный код, похоже, неправильно передает заголовок. И это не вызов.

Я протестировал этот сценарий на SoapUI и Postman. Оба работают.

Кто-нибудь знает, что этот опоздатель поддерживает это?

+0

... headers.add (ключ, значение) .. является частью кода. – zli

ответ

2

На самом деле вы не можете переопределять стандартные заголовки, например Authorization, с помощью Restlet при выполнении запроса.

Если вы хотите, чтобы предоставить маркер безопасности, вы могли бы использовать этот подход:

String pAccessToken = "some token"; 
ChallengeResponse challengeResponse = new ChallengeResponse(
         new ChallengeScheme("", "")); 
challengeResponse.setRawValue(pAccessToken); 
clientResource.setChallengeResponse(challengeResponse); 

Таким образом, вы будете иметь только маркер в заголовке Authorization (с пробелом в начале - так что не» не забывайте обрезать значение).

+0

Спасибо Тьерри, я думаю, что добился прогресса, используя подход. Служба получила токен авторизации как набор. Я думаю, что формат «Авторизация токен, и он не является ожидаемым. Я получил ошибку в этой строке: slurper.parseText (resource.post (rep) .getText()). Второе пространство должно быть удалено. я мог бы обрезать его внутри ресурса? – zli

+0

Фактически формат будет «Авторизация: токен». В значении заголовка будет добавлено дополнительное пространство ... Я не уверен, что понял, что «slurper.parseText (resource.post (resource.post) rep) .getText()) 'и где это происходит ;-) Не стесняйтесь давать более подробную информацию! –

+0

Мне интересно, где удалить лишнее пространство внутри ресурса. – zli

 Смежные вопросы

  • Нет связанных вопросов^_^