/** * Call to execute post request * * @param method - url * @param envelope - string envelope for post request * @param headers - headrs for request * @return - HttpResult instance for response */ public static HttpResult post(String method, String envelope, Map<String, String> headers) { final DefaultHttpClient httpClient = new DefaultHttpClient(); /** set params t request */ HttpParams params = httpClient.getParams(); HttpConnectionParams.setConnectionTimeout(params, CONNECTION_TIMEOUT); HttpConnectionParams.setSoTimeout(params, TIMEOUT); HttpProtocolParams.setUseExpectContinue(httpClient.getParams(), true); /** set url */ HttpPost httpPost = new HttpPost(method); /** set headers */ if (headers != null) { for (Map.Entry<String, String> header : headers.entrySet()) httpPost.setHeader(header.getKey(), header.getValue()); } /** execute request and generate HttpResult instance */ final HttpResult resultHttpResult = new HttpResult(); try { /** set envelope for post request */ envelope = new String(envelope.getBytes("UTF-8"), "UTF-8"); HttpEntity entity = new StringEntity(envelope, HTTP.UTF_8); httpPost.setEntity(entity); /** execute request */ String resultEnvelope = httpClient.execute(httpPost, new DefaultResponseHandler(resultHttpResult)); resultHttpResult.setEnvelope(resultEnvelope); } catch (ClientProtocolException ignored) { } catch (IOException ignored) { } return resultHttpResult; }