0
以下のように、レスポンスエンティティをスプリングレステンプレートで取得しようとしました。適切なHttpMessageConverterがレスポンスタイプとコンテンツタイプで見つかりませんでした
ResourceOwnerPasswordResourceDetails resource = new ResourceOwnerPasswordResourceDetails();
resource.setAccessTokenUri("https://.../oauth2/token");
resource.setUsername("u");
resource.setPassword("p");
resource.setClientSecret(".....s");
resource.setClientId("....i");
resource.setGrantType("password");
List<String> scopes = new ArrayList<String>(2);
scopes.add("write");
scopes.add("read");
resource.setScope(scopes);
OAuth2RestTemplate oAuthRestTemplate = new OAuth2RestTemplate(resource);
try{
SSLUtil.turnOffSslChecking();
ResponseEntity<String> result = oAuthRestTemplate.getForEntity("https:......." + "/api/version", String.class);
System.out.println(result);
} catch (RestClientException e) {
e.printStackTrace();
}
私はまだthis post.But同じエラーのようにアプリケーション/ JSONなどのメディアタイプを設定してみました:私は
Caused by: org.springframework.web.client.RestClientException: Could not extract response: no suitable HttpMessageConverter found for response type [interface org.springframework.security.oauth2.common.OAuth2AccessToken] and content type [application/json;charset=ISO-8859-1]
コード、以下のエラーを取得しています。
全トレース:
Exception in thread "main" error="access_denied", error_description="Error requesting access token."
at org.springframework.security.oauth2.client.token.OAuth2AccessTokenSupport.retrieveToken(OAuth2AccessTokenSupport.java:121)
at org.springframework.security.oauth2.client.token.grant.password.ResourceOwnerPasswordAccessTokenProvider.obtainAccessToken(ResourceOwnerPasswordAccessTokenProvider.java:47)
at org.springframework.security.oauth2.client.token.AccessTokenProviderChain.obtainNewAccessTokenInternal(AccessTokenProviderChain.java:142)
at org.springframework.security.oauth2.client.token.AccessTokenProviderChain.obtainAccessToken(AccessTokenProviderChain.java:118)
at org.springframework.security.oauth2.client.OAuth2RestTemplate.acquireAccessToken(OAuth2RestTemplate.java:216)
at org.springframework.security.oauth2.client.OAuth2RestTemplate.getAccessToken(OAuth2RestTemplate.java:168)
at org.springframework.security.oauth2.client.OAuth2RestTemplate.createRequest(OAuth2RestTemplate.java:89)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:479)
at org.springframework.security.oauth2.client.OAuth2RestTemplate.doExecute(OAuth2RestTemplate.java:123)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:446)
at org.springframework.web.client.RestTemplate.getForEntity(RestTemplate.java:236)
at com.ClientTemplate.main(ClientTemplate.java:56)
Caused by: org.springframework.web.client.RestClientException: Could not extract response: no suitable HttpMessageConverter found for response type [interface org.springframework.security.oauth2.common.OAuth2AccessToken] and content type [application/json;charset=ISO-8859-1]
at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:107)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:491)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:454)
at org.springframework.security.oauth2.client.token.OAuth2AccessTokenSupport.retrieveToken(OAuth2AccessTokenSupport.java:113)
... 11 more
私はspring3を使用しています。これを試してみました.. List>コンバーター= oAuthRestTemplate.getMessageConverters(); for(HttpMessageConverter >コンバータ:コンバーター){ if(converter instanceof MappingJackson2HttpMessageConverter){...} ..'しかし、動作しません。あなたはspring3のresttemplateを取得するためのリンクがありますか –
NaaN