64
64
import org .springframework .http .client .ClientHttpRequestInterceptor ;
65
65
import org .springframework .http .client .ClientHttpResponse ;
66
66
import org .springframework .http .client .SimpleClientHttpRequestFactory ;
67
+ import org .springframework .http .converter .ByteArrayHttpMessageConverter ;
68
+ import org .springframework .http .converter .FormHttpMessageConverter ;
67
69
import org .springframework .http .converter .HttpMessageConverter ;
68
70
import org .springframework .http .converter .HttpMessageNotReadableException ;
71
+ import org .springframework .http .converter .ResourceHttpMessageConverter ;
72
+ import org .springframework .http .converter .StringHttpMessageConverter ;
69
73
import org .springframework .http .converter .xml .SimpleXmlHttpMessageConverter ;
70
74
import org .springframework .util .FileCopyUtils ;
71
75
import org .springframework .web .client .HttpStatusCodeException ;
81
85
import java .net .URI ;
82
86
import java .net .URISyntaxException ;
83
87
import java .net .URLEncoder ;
88
+ import java .nio .charset .Charset ;
84
89
import java .util .ArrayList ;
85
90
import java .util .Iterator ;
86
91
import java .util .List ;
@@ -110,7 +115,6 @@ public class JsRestClient {
110
115
public static final String REST_REPORT_STATUS = "/status" ;
111
116
public static final String REST_THUMBNAILS = "/thumbnails" ;
112
117
113
- private SimpleXmlHttpMessageConverter simpleXmlHttpMessageConverter ;
114
118
115
119
// the timeout in milliseconds until a connection is established
116
120
private int connectTimeout = 15 * 1000 ;
@@ -129,7 +133,7 @@ public class JsRestClient {
129
133
//---------------------------------------------------------------------
130
134
131
135
public JsRestClient () {
132
- this (new RestTemplate (true ), new SimpleClientHttpRequestFactory ());
136
+ this (new RestTemplate (false ), new SimpleClientHttpRequestFactory ());
133
137
}
134
138
135
139
public JsRestClient (RestTemplate restTemplate ) {
@@ -140,9 +144,7 @@ public JsRestClient(RestTemplate restTemplate,
140
144
SimpleClientHttpRequestFactory factory ) {
141
145
this .restTemplate = restTemplate ;
142
146
this .requestFactory = factory ;
143
-
144
- fetchXmlConverter ();
145
- configureAnnotationStrategy ();
147
+ configureMessageConverters ();
146
148
}
147
149
148
150
//---------------------------------------------------------------------
@@ -1235,22 +1237,24 @@ private String generateInputControlsUrl(String reportUri, List<String> controlsI
1235
1237
return fullUri .toString ();
1236
1238
}
1237
1239
1238
- private void fetchXmlConverter () {
1239
- List <HttpMessageConverter <?>> converters = restTemplate .getMessageConverters ();
1240
- for (HttpMessageConverter <?> converter : converters ) {
1241
- if (converter instanceof SimpleXmlHttpMessageConverter ) {
1242
- simpleXmlHttpMessageConverter =
1243
- (SimpleXmlHttpMessageConverter ) converter ;
1244
- }
1245
- }
1240
+ private void configureMessageConverters () {
1241
+ List <HttpMessageConverter <?>> messageConverters = restTemplate .getMessageConverters ();
1242
+ messageConverters .add (new ByteArrayHttpMessageConverter ());
1243
+ messageConverters .add (new StringHttpMessageConverter (Charset .forName ("UTF-8" )));
1244
+ messageConverters .add (new ResourceHttpMessageConverter ());
1245
+ messageConverters .add (new FormHttpMessageConverter ());
1246
+
1247
+ SimpleXmlHttpMessageConverter simpleXmlHttpMessageConverter
1248
+ = new SimpleXmlHttpMessageConverter ();
1249
+ configureAnnotationStrategy (simpleXmlHttpMessageConverter );
1250
+ messageConverters .add (simpleXmlHttpMessageConverter );
1246
1251
}
1247
1252
1248
- private void configureAnnotationStrategy () {
1249
- if (simpleXmlHttpMessageConverter != null ) {
1250
- Strategy annotationStrategy = new AnnotationStrategy ();
1251
- Serializer serializer = new Persister (annotationStrategy );
1252
- simpleXmlHttpMessageConverter .setSerializer (serializer );
1253
- }
1253
+ private void configureAnnotationStrategy (
1254
+ SimpleXmlHttpMessageConverter simpleXmlHttpMessageConverter ) {
1255
+ Strategy annotationStrategy = new AnnotationStrategy ();
1256
+ Serializer serializer = new Persister (annotationStrategy );
1257
+ simpleXmlHttpMessageConverter .setSerializer (serializer );
1254
1258
}
1255
1259
1256
1260
//---------------------------------------------------------------------
0 commit comments