fluid-ws-java-client/src/main/java/com/fluidbpm/ws/client/v1/ABaseClientWS.java
public JSONObject getJson(
			boolean checkConnectionValidParam,
			String postfixUrlParam,
			List<HeaderNameValue> headerNameValuesParam) {

		//Connection is not valid...throw error...
		if(checkConnectionValidParam && !this.isConnectionValid()) {
			throw new FluidClientException(
					"Unable to reach service at '"+
							this.endpointUrl.concat(postfixUrlParam)+"'.",
					FluidClientException.ErrorCode.CONNECT_ERROR);
		}

		CloseableHttpClient httpclient = this.getClient();

		try {
			HttpGet httpGet = new HttpGet(this.endpointUrl.concat(postfixUrlParam));

			if(headerNameValuesParam != null && !headerNameValuesParam.isEmpty()) {
				for(HeaderNameValue headerNameVal : headerNameValuesParam) {
					if(headerNameVal.getName() == null || headerNameVal.getName().trim().isEmpty()) {
						continue;
					}

					if(headerNameVal.getValue() == null) {
						continue;
					}

					httpGet.setHeader(headerNameVal.getName(), headerNameVal.getValue());
				}
			}

			// Create a custom response handler
			ResponseHandler<String> responseHandler = this.getJsonResponseHandler(
					this.endpointUrl.concat(postfixUrlParam));

			String responseBody = this.executeHttp(
					httpclient, httpGet, responseHandler, postfixUrlParam);

			if(responseBody == null || responseBody.trim().isEmpty()) {
				throw new FluidClientException(
						"No response data from '"+
								this.endpointUrl.concat(postfixUrlParam)+"'.",
						FluidClientException.ErrorCode.IO_ERROR);
			}

			JSONObject jsonOjb = new JSONObject(responseBody);

			if(jsonOjb.isNull(Error.JSONMapping.ERROR_CODE)) {
				return jsonOjb;
			}

			int errorCode = jsonOjb.getInt(Error.JSONMapping.ERROR_CODE);

			if(errorCode > 0) {
				String errorMessage = (jsonOjb.isNull(Error.JSONMapping.ERROR_MESSAGE)
						? "Not set":
						jsonOjb.getString(Error.JSONMapping.ERROR_MESSAGE));

				throw new FluidClientException(errorMessage, errorCode);
			}

			return jsonOjb;
		} catch (JSONException jsonExcept) {
			throw new FluidClientException(jsonExcept.getMessage(),
					FluidClientException.ErrorCode.JSON_PARSING);
		}
	}
public JSONObject getJson(
			boolean checkConnectionValidParam,
			String postfixUrlParam,
			List<HeaderNameValue> headerNameValuesParam) {

		//Connection is not valid...throw error...
		if(checkConnectionValidParam && !this.isConnectionValid()) {
			throw new FluidClientException(
					"Unable to reach service at '"+
							this.endpointUrl.concat(postfixUrlParam)+"'.",
					FluidClientException.ErrorCode.CONNECT_ERROR);
		}

		CloseableHttpClient httpclient = this.getClient();

		try {
			HttpGet httpGet = new HttpGet(this.endpointUrl.concat(postfixUrlParam));

			if(headerNameValuesParam != null && !headerNameValuesParam.isEmpty()) {
				for(HeaderNameValue headerNameVal : headerNameValuesParam) {
					if(headerNameVal.getName() == null || headerNameVal.getName().trim().isEmpty()) {
						continue;
					}

					if(headerNameVal.getValue() == null) {
						continue;
					}

					httpGet.setHeader(headerNameVal.getName(), headerNameVal.getValue());
				}
			}

			// Create a custom response handler
			ResponseHandler<String> responseHandler = this.getJsonResponseHandler(
					this.endpointUrl.concat(postfixUrlParam));

			String responseBody = this.executeHttp(
					httpclient, httpGet, responseHandler, postfixUrlParam);

			if(responseBody == null || responseBody.trim().isEmpty()) {
				throw new FluidClientException(
						"No response data from '"+
								this.endpointUrl.concat(postfixUrlParam)+"'.",
						FluidClientException.ErrorCode.IO_ERROR);
			}

			JSONObject jsonOjb = new JSONObject(responseBody);

			if(jsonOjb.isNull(Error.JSONMapping.ERROR_CODE)) {
				return jsonOjb;
			}

			int errorCode = jsonOjb.getInt(Error.JSONMapping.ERROR_CODE);

			if(errorCode > 0) {
				String errorMessage = (jsonOjb.isNull(Error.JSONMapping.ERROR_MESSAGE)
						? "Not set":
						jsonOjb.getString(Error.JSONMapping.ERROR_MESSAGE));

				throw new FluidClientException(errorMessage, errorCode);
			}

			return jsonOjb;
		} catch (JSONException jsonExcept) {
			throw new FluidClientException(jsonExcept.getMessage(),
					FluidClientException.ErrorCode.JSON_PARSING);
		}
	}
Performs an HTTP-GET request with {@code postfixUrlParam}.

@param checkConnectionValidParam Check if connection to
base endpoint is valid.
@param postfixUrlParam URL mapping after the Base endpoint.
@param headerNameValuesParam The HTTP Headers to include.

@return Return body as JSON.

@see JSONObject