2015-10-26 2 views
1

Я знаю, что этот вопрос задан миллион раз, но я не могу понять, что не так с моим токенным запросом.Искрочный эквивалент запроса на завиток в Джерси

Команда в завиток является

завиток -v -X POST -H "Разрешение: Базовый XXXXXXXXXXXXXXXXXXXXXX" -H «Content-Type: применение/х-WWW-форм-urlencoded; кодировка UTF = -8" -k -d "grant_type = пароль & имя пользователя = XXXXX & пароль = XXXXX" https://localhost/sso/token

переустроенные в Джерси он должен быть:

Client client = Client.create(); 
WebResource webResource = client.resource("https://localhost/sso/token"); 
String appKey= "Basic XXXXXXXXXXXXXXXXXXXXXX" 
String input="grant_type=password&username=XXXXX&password=XXXXX"; 
    ClientResponse response = null; 
      response = webResource. 
        header("Authorization", appKey). 
        header("Content-Type", "/x-www-form-urlencoded;charset=UTF-8"). 
        accept("application/json"). 
        post(ClientResponse.class, input); 




    if (response.getStatus() != 200) { 
        throw new RuntimeException("Failed : HTTP error code : " 
          + response.getStatus()); 
       } 
       String output = response.getEntity(String.class); 
       System.out.println("Server response .... \n"); 
       System.out.println(output); 
      } catch (Exception e) { 
       e.printStackTrace(); 
     }** 

Ответ я получаю:

java.lang.RuntimeException: Failed: HTTP код ошибки: 415 в com.javacodegeeks.enterprise.rest.jersey.jerseyclient.JerseyClientAccessToken.main (JerseyClientAccessToken.java : 67)

Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно?

ответ

1

Это:

header("Content-Type", "application/json;charset=UTF-8"); 

это не то же это:

Content-Type: "application/x-www-form-urlencoded;charset=UTF-8" 

Таким образом, вы должны изменить его. Вот почему вы получаете ошибку 415 (Unsupported Media Type).

+1

Благодарим вас за помощь! – MultiTask70

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