Example usage for org.apache.commons.httpclient.methods PostMethod addParameter

List of usage examples for org.apache.commons.httpclient.methods PostMethod addParameter

Introduction

In this page you can find the example usage for org.apache.commons.httpclient.methods PostMethod addParameter.

Prototype

public void addParameter(String paramString1, String paramString2) throws IllegalArgumentException 

Source Link

Usage

From source file:nl.b3p.viewer.print.PrintUtil.java

/**
 * Get the image url for the CombineImageAction.
 *
 * @param param the json as string with params needed to create the image
 * @param url url to replace with CombineImageAction url
 * @param sessionID sessionid to use//  w  ww  . ja  v a2s . co  m
 * @return url to (combined)image.
 * @throws java.lang.Exception if any
 */
public static String getImageUrl(String param, String url, String sessionID) throws Exception {
    RedirectResolution cia = new RedirectResolution(CombineImageActionBean.class);
    RedirectResolution pa = new RedirectResolution(PrintActionBean.class);
    // url van print actionbean naar combineimage action bean, kopieer de sessionid naar de url
    // tomcat specifiek gedrag
    url = url.replace(pa.getUrl(new Locale("NL")), cia.getUrl(new Locale("NL")));
    url += ";jsessionid=" + sessionID;

    HttpClient client = new HttpClient();
    PostMethod method = null;
    try {
        method = new PostMethod(url);
        method.addParameter("params", param);
        method.addParameter("JSESSIONID", sessionID);
        int statusCode = client.executeMethod(method);
        if (statusCode != HttpStatus.SC_OK) {
            LOG.debug("Connection error for " + url);
            throw new Exception("Error connecting to server. HTTP status code: " + statusCode);
        }
        JSONObject response = new JSONObject(method.getResponseBodyAsString());
        if (!response.getBoolean("success")) {
            throw new Exception("Error getting image: " + response.getString("error"));
        }
        return response.getString("imageUrl");
    } finally {
        if (method != null) {
            method.releaseConnection();
        }
    }
}

From source file:nl.b3p.viewer.stripes.PrintActionBean.java

/**
 * Get the image url from the CombineImageAction
 * @param param the json as string with params needed to create the image
 * @return url to (combined)image./* ww  w .  j a  va2  s. co  m*/
 */
private String getImageUrl(String param) throws Exception {

    RedirectResolution cia = new RedirectResolution(CombineImageActionBean.class);
    RedirectResolution pa = new RedirectResolution(PrintActionBean.class);
    //cia.addParameter("params", param);
    String url = context.getRequest().getRequestURL().toString();
    url = url.replace(pa.getUrl(new Locale("NL")), cia.getUrl(new Locale("NL")));

    HttpClient client = new HttpClient();
    PostMethod method = null;
    try {
        method = new PostMethod(url);
        method.addParameter("params", param);
        int statusCode = client.executeMethod(method);
        if (statusCode != HttpStatus.SC_OK) {
            throw new Exception("Error connecting to server. HTTP status code: " + statusCode);
        }
        JSONObject response = new JSONObject(method.getResponseBodyAsString());
        if (!response.getBoolean("success")) {
            throw new Exception("Error getting image: " + response.getString("error"));
        }
        return response.getString("imageUrl");
        //return json;
    } finally {
        if (method != null) {
            method.releaseConnection();
        }
    }
}

From source file:nl.nn.adapterframework.http.HttpSender.java

protected PostMethod getPostMethodWithParamsInBody(URI uri, String message, ParameterValueList parameters,
        Map<String, String> headersParamsMap, ParameterResolutionContext prc) throws SenderException {
    try {/*w  w w.  j  a  va2  s.  c  o  m*/
        PostMethod hmethod = new PostMethod(uri.getPath());
        if (!isMultipart() && StringUtils.isEmpty(getMultipartXmlSessionKey()) && !isMtomEnabled()) {
            if (StringUtils.isNotEmpty(getInputMessageParam())) {
                hmethod.addParameter(getInputMessageParam(), message);
                if (log.isDebugEnabled())
                    log.debug(getLogPrefix() + "appended parameter [" + getInputMessageParam()
                            + "] with value [" + message + "]");
            }
            if (parameters != null) {
                for (int i = 0; i < parameters.size(); i++) {
                    ParameterValue pv = parameters.getParameterValue(i);
                    String name = pv.getDefinition().getName();
                    String value = pv.asStringValue("");
                    if (headersParamsMap.keySet().contains(name)) {
                        hmethod.addRequestHeader(name, value);
                        if (log.isDebugEnabled())
                            log.debug(getLogPrefix() + "appended header [" + name + "] with value [" + value
                                    + "]");
                    } else {
                        hmethod.addParameter(name, value);
                        if (log.isDebugEnabled())
                            log.debug(getLogPrefix() + "appended parameter [" + name + "] with value [" + value
                                    + "]");
                    }
                }
            }
        } else {
            if (isMtomEnabled()) {
                addMtomMultiPartToPostMethod(hmethod, message, parameters, prc);
            } else {
                addMultiPartToPostMethod(hmethod, message, parameters, prc);
            }
        }
        return hmethod;
    } catch (Exception e) {
        throw new SenderException(getLogPrefix() + "got error creating postmethod for url [" + getUrl() + "]",
                e);
    }
}

From source file:no.sws.client.SwsLogin.java

public HttpClient login(final String username, final String password) throws HttpException, IOException {

    // HTTP-klienten som logger seg p SWS
    final HttpClient httpClient = new HttpClient();

    // HTTP GET foresprselen etter innloggingsiden
    final GetMethod loggInnSide = new GetMethod(SwsLogin.LOGIN_URL);
    loggInnSide.setFollowRedirects(true);
    httpClient.executeMethod(loggInnSide);
    loggInnSide.releaseConnection();/*from w w  w. j a  v  a  2  s .  co m*/

    // Da har vi kommet til innloggingsiden, her m vi fylle inn brukernavn
    // og passord
    final PostMethod formPost = new PostMethod(this.FORM_POST_URL);
    formPost.addParameter("Referer", SwsLogin.LOGIN_URL);
    formPost.addParameter("j_username", username);
    formPost.addParameter("j_password", password);

    // Vi poster formularet og fr responskoden tilbake
    final int formResponseCode = httpClient.executeMethod(formPost);

    // henter ogs ut selve responsen
    final String formResponse = formPost.getResponseBodyAsString();

    // Utskrift av responskoden og responsen
    System.out.println("Response code=" + formResponseCode + "\n" + formResponse);

    // serveren vil videresende oss, s vi henter ut url'en fra respons
    // headeren
    final Header videreSend = formPost.getResponseHeader("Location");
    formPost.releaseConnection();

    if (videreSend == null || formResponse.contains(SwsLogin.LOGIN_ERROR_STRING)) {

        // vi klarte ikke  logge p SWS, her burde din klient kaste en
        // exception
        return null;
    }

    // dette er ikke ndvendig for  logge p, her holder det  returnere
    // http-klienten
    final GetMethod redirect = new GetMethod(videreSend.getValue());
    redirect.setFollowRedirects(true);
    final int redirectResponseCode = httpClient.executeMethod(redirect);
    final String redirectResponse = redirect.getResponseBodyAsString();

    System.out.println("Redirect response code=" + redirectResponseCode + "\n" + redirectResponse);

    return httpClient;
}

From source file:org.ala.spatial.util.CitationService.java

public static String postInfo(String url, Map params, boolean asBody) {
    try {//from   w  w  w  . j  av a  2s . c om

        HttpClient client = new HttpClient();

        PostMethod post = new PostMethod(url); // testurl

        post.addRequestHeader("Accept", "application/json, text/javascript, */*");

        // add the post params
        if (params != null) {
            if (!asBody) {

                for (Iterator ekeys = params.keySet().iterator(); ekeys.hasNext();) {
                    String key = (String) ekeys.next();
                    String value = (String) params.get(key);
                    post.addParameter(key, URLEncoder.encode(value, "UTF-8"));
                }
            } else {
                StringBuilder sbParams = new StringBuilder();

                for (Iterator ekeys = params.keySet().iterator(); ekeys.hasNext();) {
                    String key = (String) ekeys.next();
                    String value = (String) params.get(key);
                    sbParams.append(value);
                }

                RequestEntity entity = new StringRequestEntity(sbParams.toString(), "text/plain", "UTF-8");
                post.setRequestEntity(entity);
            }
        }

        int result = client.executeMethod(post);

        String slist = post.getResponseBodyAsString();

        return slist;
    } catch (Exception ex) {
        System.out.println("postInfo.error:");
        ex.printStackTrace(System.out);
    }
    return null;
}

From source file:org.ala.spatial.web.zk.JobsZK.java

public void onClick$btnNewClassification(Event event) {
    String txt = newjob.getText();

    try {//  ww w .j  a  v  a  2  s  .c  om
        int pos = 0;
        while (true) {
            int p1 = txt.indexOf("pid:", pos);
            if (p1 < 0) {
                break;
            }
            int p2 = txt.indexOf("gc:", pos);
            int p3 = txt.indexOf("area:", pos);
            int p4 = txt.indexOf("envlist:", pos);
            int p5 = txt.indexOf("pid:", p1 + 4);
            if (p5 < 0) {
                p5 = txt.length();
            }

            pos = p5 - 5;

            String pid = txt.substring(p1 + 4, p2).trim();
            String gc = txt.substring(p2 + 3, p3).trim();
            String area = txt.substring(p3 + 5, p4).trim();
            String envlist = txt.substring(p4 + 8, p5).trim();

            System.out.println("got [" + pid + "][" + gc + "][" + area + "][" + envlist + "]");

            StringBuffer sbProcessUrl = new StringBuffer();
            sbProcessUrl.append(AlaspatialProperties.getAlaspatialUrl() + "ws/aloc/processgeoq?");
            sbProcessUrl.append("gc=" + URLEncoder.encode(gc, "UTF-8"));
            sbProcessUrl.append("&envlist=" + URLEncoder.encode(envlist, "UTF-8"));

            HttpClient client = new HttpClient();
            PostMethod get = new PostMethod(sbProcessUrl.toString());

            get.addParameter("area", URLEncoder.encode(area, "UTF-8"));

            get.addRequestHeader("Accept", "text/plain");

            int result = client.executeMethod(get);
            String slist = get.getResponseBodyAsString();

            System.out.println("Got response from ALOCWSController: \n" + slist);
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:org.alfresco.repo.publishing.slideshare.SlideShareConnectorImpl.java

public InputStream sendMessage(String url, Map<String, String> parameters)
        throws IOException, SlideShareErrorException {
    PostMethod method = new PostMethod(url);
    method.addParameter("api_key", this.apiKey);
    Iterator<Map.Entry<String, String>> entryIt = parameters.entrySet().iterator();
    while (entryIt.hasNext()) {
        Map.Entry<String, String> entry = entryIt.next();
        method.addParameter(entry.getKey(), entry.getValue());
    }//from   w  w w . j a  v  a2  s . co  m
    Date now = new Date();
    String ts = Long.toString(now.getTime() / 1000);
    String hash = DigestUtils.shaHex(this.sharedSecret + ts).toLowerCase();
    method.addParameter("ts", ts);
    method.addParameter("hash", hash);
    logger.debug("Sending POST message to " + method.getURI().getURI() + " with parameters "
            + Arrays.toString(method.getParameters()));
    int statusCode = httpClient.executeMethod(method);
    if (statusCode != HttpStatus.SC_OK) {
        logger.debug("Server replied with a " + statusCode + " HTTP status code ("
                + HttpStatus.getStatusText(statusCode) + ")");
        throw new SlideShareErrorException(statusCode, HttpStatus.getStatusText(statusCode));
    }
    if (logger.isDebugEnabled()) {
        logger.debug(method.getResponseBodyAsString());
    }
    InputStream result = new ByteArrayInputStream(method.getResponseBody());
    method.releaseConnection();
    return result;
}

From source file:org.anyframe.oden.bundle.build.util.HudsonRemoteAPI.java

public CfgRunJob executeBuildWithArg(String address, String userId, String pwd, String dbName,
        String dbConnection, String server, String productName, String projectName, String buildName,
        String request, String repoPath, boolean isPmd, String packageType, String packageName)
        throws Exception {

    CfgRunJob runJob = new CfgRunJob();
    runJob.setName(buildName);//ww  w  . java2s.  c  om

    // String url = URLEncoder.encode(address + "/job/" + buildName
    // + "/buildWithParameters");
    HttpClient httpClient = getClient();

    buildName = URLEncoder.encode(buildName).replace("+", "%20");
    PostMethod method = new PostMethod(address + "/job/" + buildName + "/buildWithParameters");
    method.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    method.setDoAuthentication(true);

    method.addParameter("USER.ID", userId);
    method.addParameter("PWD", pwd);
    method.addParameter("DM.DB.NAME", dbName);
    method.addParameter("DB.CONNECTION", dbConnection);
    method.addParameter("DM.SERVER", server);
    method.addParameter("PRODUCT.NAME", productName);
    method.addParameter("DM.PROJECT.NAME", projectName);
    method.addParameter("REQUEST", request);
    method.addParameter("REPOSITORY.PATH", repoPath);
    method.addParameter("PACKAGETYPE", packageType);
    method.addParameter("PACKAGENAME", packageName);

    if (isPmd) {
        method.addParameter("TARGET", "pmd.run");
    }
    hudsonURL = address + "/";

    String buildNo = getLastBuildNo(buildName);

    try {
        int statusCode = httpClient.executeMethod(method);

        // if (statusCode == HttpStatus.SC_OK || statusCode == 201) {
        // throw new Exception(method.getResponseBodyAsString());
        // }

    } catch (Exception e) {
        throw e;

    } finally {
        method.releaseConnection();
    }

    // fixed build no setting
    buildNo = getBuildNo(buildNo, buildName);
    runJob.setBuildNo(buildNo);

    runJob.setConsoleUrl(hudsonURL + "job/" + buildName + "/" + buildNo + "/console");

    return runJob;

}

From source file:org.anyframe.oden.bundle.build.util.HudsonRemoteAPI.java

public static CfgRunJob rollbackBuildWithArg(String address, String buildName, String build) throws Exception {

    CfgRunJob runJob = new CfgRunJob();
    runJob.setName(buildName);/*from   www  .jav a 2 s  .  c o m*/
    HttpClient httpClient = getClient();
    buildName = URLEncoder.encode(buildName).replace("+", "%20");

    PostMethod method = new PostMethod(address + "/job/" + buildName + "/buildWithParameters");

    method.addParameter("TARGET", "rollback.run");
    method.addParameter("REQUEST", build);
    method.setDoAuthentication(true);
    try {

        int statusCode = httpClient.executeMethod(method);

    } catch (Exception e) {
        throw e;

    } finally {
        method.releaseConnection();
    }
    hudsonURL = address + "/";

    // get last build(number, url)
    List<Element> elements = getJobDetail(buildName);

    for (Element element : elements) {
        String buildNo = String.valueOf(Integer.parseInt(element.getChildText("number")) + 1);

        runJob.setBuildNo(buildNo);
        runJob.setConsoleUrl(hudsonURL + "job/" + buildName + "/" + buildNo + "/console");
    }

    return runJob;

}

From source file:org.apache.activemq.karaf.itest.ActiveMQBrokerNdWebConsoleFeatureTest.java

@Override
protected void produceMessage(String nameAndPayload) throws Exception {
    HttpClient client = new HttpClient();
    client.getHttpConnectionManager().getParams().setConnectionTimeout(30000);

    // set credentials
    client.getState().setCredentials(new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT),
            new UsernamePasswordCredentials(USER, PASSWORD));

    System.err.println(executeCommand("activemq:bstat").trim());
    System.err.println("attempting to access web console..");

    GetMethod get = new GetMethod(WEB_CONSOLE_URL + "index.jsp");
    get.setDoAuthentication(true);/*from w  w  w. j  av  a2  s .c  om*/

    // Give console some time to start
    boolean done = false;
    int loop = 0;
    while (!done && loop < 30) {
        loop++;
        try {
            int code = client.executeMethod(get);
            if (code > 399 && code < 500) {
                // code 4xx we should retry
                System.err.println("web console not accessible yet - status code " + code);
                TimeUnit.SECONDS.sleep(1);
            } else {
                done = true;
            }
        } catch (Exception ignored) {
        }
    }
    assertEquals("get succeeded on " + get, 200, get.getStatusCode());

    System.err.println("attempting publish via web console..");

    // need to first get the secret
    get = new GetMethod(WEB_CONSOLE_URL + "send.jsp");
    get.setDoAuthentication(true);

    int code = client.executeMethod(get);
    assertEquals("get succeeded on " + get, 200, code);

    String response = get.getResponseBodyAsString();
    final String secretMarker = "<input type=\"hidden\" name=\"secret\" value=\"";
    String secret = response.substring(response.indexOf(secretMarker) + secretMarker.length());
    secret = secret.substring(0, secret.indexOf("\"/>"));

    PostMethod post = new PostMethod(WEB_CONSOLE_URL + "sendMessage.action");
    post.setDoAuthentication(true);
    post.addParameter("secret", secret);

    post.addParameter("JMSText", nameAndPayload);
    post.addParameter("JMSDestination", nameAndPayload);
    post.addParameter("JMSDestinationType", "queue");

    // execute the send
    assertEquals("post succeeded, " + post, 302, client.executeMethod(post));

    System.err.println(executeCommand("activemq:bstat").trim());
}