From 14201c5bc86b6ed1a97fcb5d61fabd04c9a8a68b Mon Sep 17 00:00:00 2001 From: wayne <wayne8692wayne8692@gmail.com> Date: 星期二, 23 十一月 2021 11:55:52 +0800 Subject: [PATCH] [update] 因EService回覆content-type為空,導致轉換錯誤,現已修正,順便設定log儲存的位置 --- pamapi/src/main/java/com/pollex/pam/security/provider/EServiceAuthenticationProvider.java | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 deletions(-) diff --git a/pamapi/src/main/java/com/pollex/pam/security/provider/EServiceAuthenticationProvider.java b/pamapi/src/main/java/com/pollex/pam/security/provider/EServiceAuthenticationProvider.java index 28a2a19..35a6ce8 100644 --- a/pamapi/src/main/java/com/pollex/pam/security/provider/EServiceAuthenticationProvider.java +++ b/pamapi/src/main/java/com/pollex/pam/security/provider/EServiceAuthenticationProvider.java @@ -17,6 +17,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.*; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.security.authentication.AuthenticationCredentialsNotFoundException; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; @@ -32,10 +34,7 @@ import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; import java.security.cert.X509Certificate; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Component public class EServiceAuthenticationProvider { @@ -98,6 +97,7 @@ String dtoJson = new ObjectMapper().writeValueAsString(dto); RestTemplate restTemplate = getTrustAllRestTemplate(); + settingMessageConvertesToSpecifyType(restTemplate, MediaType.ALL); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); @@ -120,4 +120,12 @@ requestFactory.setReadTimeout(300000); return new RestTemplate(requestFactory); } + + private void settingMessageConvertesToSpecifyType(RestTemplate restTemplate, MediaType mediaType) { + List<HttpMessageConverter<?>> messageConverters = new ArrayList<>(); + MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); + converter.setSupportedMediaTypes(Collections.singletonList(mediaType)); + messageConverters.add(converter); + restTemplate.setMessageConverters(messageConverters); + } } -- Gitblit v1.8.0