1 package org
.argeo
.slc
.server
.client
;
3 import java
.io
.InputStream
;
4 import java
.net
.HttpURLConnection
;
8 import javax
.xml
.transform
.stream
.StreamSource
;
10 import org
.apache
.commons
.io
.IOUtils
;
11 import org
.argeo
.slc
.SlcException
;
12 import org
.springframework
.oxm
.Unmarshaller
;
14 public class SlcServerHttpClient
{
15 private Unmarshaller unmarshaller
;
16 private String baseUrl
= "http://localhost:7070/org.argeo.slc.webapp/";
18 @SuppressWarnings(value
= { "unchecked" })
19 public <T
> T
callService(String path
, Map
<String
, String
> parameters
) {
21 InputStream in
= null;
23 URL url
= new URL(baseUrl
+ path
);
24 HttpURLConnection connection
= (HttpURLConnection
) url
26 if (parameters
!= null) {
27 for (String key
: parameters
.keySet()) {
28 connection
.addRequestProperty(key
, parameters
.get(key
));
34 in
= connection
.getInputStream();
35 StreamSource source
= new StreamSource(in
);
36 Object obj
= unmarshaller
.unmarshal(source
);
38 } catch (Exception e
) {
39 throw new SlcException("Cannot call service " + path
+ " on "
42 IOUtils
.closeQuietly(in
);
46 public void setUnmarshaller(Unmarshaller unmarshaller
) {
47 this.unmarshaller
= unmarshaller
;
50 public void setBaseUrl(String baseUrl
) {
51 this.baseUrl
= baseUrl
;