Example usage for org.apache.commons.httpclient.methods ByteArrayRequestEntity ByteArrayRequestEntity

List of usage examples for org.apache.commons.httpclient.methods ByteArrayRequestEntity ByteArrayRequestEntity

Introduction

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

Prototype

public ByteArrayRequestEntity(byte[] paramArrayOfByte) 

Source Link

Usage

From source file:org.wso2.carbon.appfactory.svn.repository.provider.SCMManagerBasedSVNRepositoryProvider.java

@Override
public String createRepository(String applicationKey, String tenantDomain) throws RepositoryMgtException {

    HttpClient client = getClient();//from  w ww .  ja  v a  2  s  .  c om
    PostMethod post = new PostMethod(getServerURL() + REST_BASE_URI + REST_CREATE_REPOSITORY_URI);
    Repository repository = new Repository();
    repository.setName(applicationKey);
    repository.setType("svn");

    Permission permission = new Permission();
    permission.setGroupPermission(true);
    permission.setName(applicationKey);
    permission.setType(PermissionType.WRITE);
    ArrayList<Permission> permissions = new ArrayList<Permission>();
    permissions.add(permission);
    repository.setPermissions(permissions);

    post.setRequestEntity(new ByteArrayRequestEntity(getRepositoryAsString(repository)));
    post.setDoAuthentication(true);
    post.addRequestHeader("Content-Type", "application/xml;charset=UTF-8");

    String url;
    try {
        client.executeMethod(post);
    } catch (IOException e) {
        String msg = "Error while invoking the web service";
        log.error(msg, e);
        throw new RepositoryMgtException(msg, e);
    } finally {
        post.releaseConnection();
    }
    if (post.getStatusCode() == HttpStatus.SC_CREATED) {
        url = getAppRepositoryURL(applicationKey, tenantDomain);
    } else {
        String msg = "Repository creation is failed for " + applicationKey + " server returned status "
                + post.getStatusText();
        log.error(msg);
        throw new RepositoryMgtException(msg);
    }
    return url;
}

From source file:org.zaproxy.zap.extension.ascanrulesAlpha.CloudMetadataScanner.java

private static HttpMethod createRequestMethod(HttpRequestHeader header, HttpBody body, HttpMethodParams params)
        throws URIException {
    HttpMethod httpMethod = new ZapGetMethod();
    httpMethod.setURI(header.getURI());//from   w  w  w . j av  a2s .c  o m
    httpMethod.setParams(params);
    params.setVersion(HttpVersion.HTTP_1_1);

    String msg = header.getHeadersAsString();

    String[] split = Pattern.compile("\\r\\n", Pattern.MULTILINE).split(msg);
    String token = null;
    String name = null;
    String value = null;

    int pos = 0;
    for (int i = 0; i < split.length; i++) {
        token = split[i];
        if (token.equals("")) {
            continue;
        }

        if ((pos = token.indexOf(":")) < 0) {
            return null;
        }
        name = token.substring(0, pos).trim();
        value = token.substring(pos + 1).trim();
        httpMethod.addRequestHeader(name, value);
    }
    if (body != null && body.length() > 0 && (httpMethod instanceof EntityEnclosingMethod)) {
        EntityEnclosingMethod post = (EntityEnclosingMethod) httpMethod;
        post.setRequestEntity(new ByteArrayRequestEntity(body.getBytes()));
    }
    httpMethod.setFollowRedirects(false);
    return httpMethod;
}

From source file:pt.lsts.neptus.historicdata.HistoricWebAdapter.java

public Future<Notification> upload(HistoricData data) {
    return executor.submit(new Callable<Notification>() {
        @Override//from w w w. j a v  a 2s . c o m
        public Notification call() throws Exception {
            try {
                PostMethod post = new PostMethod(postURL);
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                IMCOutputStream out = new IMCOutputStream(baos);
                out.writeMessage(data);
                out.close();
                ByteArrayRequestEntity body = new ByteArrayRequestEntity(baos.toByteArray());
                post.setRequestEntity(body);
                NeptusLog.pub().info("Uploading message to the web");
                int response = client.executeMethod(post);
                if (response != 200)
                    throw new Exception("HTTP Status " + response + ": " + post.getResponseBodyAsString());
                return Notification.success(I18n.text("Message upload"),
                        I18n.text("Message uploaded successfully"));
            } catch (Exception e) {
                e.printStackTrace();
                NeptusLog.pub().error(e);
                return Notification.error(I18n.text("Message upload"),
                        I18n.textf("Error uploading to web: %error", e.getMessage()));
            }
        }
    });
}

From source file:pt.lsts.neptus.historicdata.HistoricWebAdapter.java

public Future<Notification> upload() {
    return executor.submit(new Callable<Notification>() {
        @Override// w w  w  . j a v  a 2  s  .  c  o m
        public Notification call() throws Exception {
            int samplesBefore = localStore.numSamples();
            HistoricData data = localStore.pollData(0, 64000);

            try {
                PostMethod post = new PostMethod(postURL);
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                IMCOutputStream out = new IMCOutputStream(baos);
                out.writeMessage(data);
                out.close();
                ByteArrayRequestEntity body = new ByteArrayRequestEntity(baos.toByteArray());
                post.setRequestEntity(body);
                NeptusLog.pub().info("Uploading local data to the web");
                int response = client.executeMethod(post);
                if (response != 200)
                    throw new Exception("HTTP Status " + response + ": " + post.getResponseBodyAsString());
                NeptusLog.pub().info("Uploaded local data to the web. Local dataStore contained "
                        + samplesBefore + " and now contains " + localStore.numSamples() + " samples.");
                uploaded.addData(data);
                return Notification.info(I18n.text("Historic Data Upload"),
                        I18n.text("Historic Data uploaded successfully"));
            } catch (Exception e) {
                localStore.addData(data);
                e.printStackTrace();
                NeptusLog.pub().error(e);
                return Notification.warning(I18n.text("Historic Data Upload"),
                        I18n.textf("Error uploading historic data: %error", e.getMessage()));
            }
        }
    });
}

From source file:test.unit.be.fedict.eid.applet.service.AppletServiceServletTest.java

@Test
public void sslPostIdentityMessage() throws Exception {
    // setup/*from   w  w w.j a  v  a2  s  . co m*/
    byte[] idFile = IOUtils.toByteArray(AppletServiceServletTest.class.getResourceAsStream("/id-alice.tlv")); // XXX: expired

    LOG.debug("SSL URL: " + this.sslLocation);
    HttpClient httpClient = new HttpClient();

    HelloMessage helloMessage = new HelloMessage();
    PostMethod postMethod = new PostMethod(this.sslLocation);
    PostMethodHttpTransmitter httpTransmitter = new PostMethodHttpTransmitter(postMethod);
    Transport.transfer(helloMessage, httpTransmitter);
    int result = httpClient.executeMethod(postMethod);
    assertEquals(HttpServletResponse.SC_OK, result);

    Header setCookieHeader = postMethod.getResponseHeader("Set-Cookie");
    String setCookieValue = setCookieHeader.getValue();
    int sessionIdIdx = setCookieValue.indexOf("JSESSIONID=") + "JESSSIONID=".length();
    String sessionId = setCookieValue.substring(sessionIdIdx, setCookieValue.indexOf(";", sessionIdIdx));
    LOG.debug("session id: " + sessionId);

    postMethod = new PostMethod(this.sslLocation);
    postMethod.addRequestHeader("X-AppletProtocol-Version", "1");
    postMethod.addRequestHeader("X-AppletProtocol-Type", "IdentityDataMessage");
    postMethod.addRequestHeader("X-AppletProtocol-IdentityFileSize", Integer.toString(idFile.length));
    RequestEntity requestEntity = new ByteArrayRequestEntity(idFile);
    postMethod.setRequestEntity(requestEntity);

    // operate
    result = httpClient.executeMethod(postMethod);

    // verify
    assertEquals(HttpServletResponse.SC_OK, result);

    HttpSession httpSession = this.servletTester.getContext().getSessionHandler().getSessionManager()
            .getHttpSession(sessionId);
    Identity identity = (Identity) httpSession.getAttribute("eid.identity");
    assertNotNull(identity);
    assertEquals("Alice Geldigekaart2266", identity.firstName);

    Address address = (Address) httpSession.getAttribute("eid.address");
    assertNull(address);
}

From source file:test.unit.be.fedict.eid.applet.service.PostMethodHttpTransmitter.java

public void setBody(byte[] bodyValue) {
    RequestEntity requestEntity = new ByteArrayRequestEntity(bodyValue);
    this.postMethod.setRequestEntity(requestEntity);
}

From source file:weka.gui.explorer.ClassifierPanelRemoteLauncher.java

/**
 * Send a task to the server/*from w w w  .ja  va 2 s . co  m*/
 * 
 * @param task the task to send
 * @return the task ID returned by the server
 */
protected String sendTaskToServer(NamedTask task) {

    InputStream is = null;
    PostMethod post = null;
    String taskID = null;

    try {
        byte[] serializedTask = WekaServer.serializeTask(task);

        String service = ExecuteTaskServlet.CONTEXT_PATH + "/?client=Y";
        String url = constructURL(service);
        post = new PostMethod(url);
        RequestEntity entity = new ByteArrayRequestEntity(serializedTask);
        post.setRequestEntity(entity);

        post.setDoAuthentication(true);
        post.addRequestHeader(new Header("Content-Type", "application/octet-stream"));

        // Get HTTP client
        HttpClient client = WekaServer.ConnectionManager.getSingleton().createHttpClient();
        WekaServer.ConnectionManager.addCredentials(client, m_username, m_password);

        int result = client.executeMethod(post);
        if (result == 401) {
            logMessage("Unable to send fold task to server - authentication " + "required");
        } else {
            is = post.getResponseBodyAsStream();
            ObjectInputStream ois = new ObjectInputStream(is);
            // System.out.println("Number of bytes in response " + ois.available());
            Object response = ois.readObject();
            if (response.toString().startsWith(WekaServlet.RESPONSE_ERROR)) {
                logMessage("A problem occurred at the sever : \n" + "\t" + response.toString());
            } else {
                taskID = response.toString();
            }
        }
    } catch (Exception ex) {
        logMessage("An error occurred while sending fold task to server: " + ex.getMessage());
        ex.printStackTrace();
    } finally {
        if (is != null) {
            try {
                is.close();
            } catch (Exception e) {
            }
        }

        if (post != null) {
            // Release current connection to the connection pool
            post.releaseConnection();
        }
    }

    return taskID;
}

From source file:weka.server.knowledgeFlow.FlowRunnerRemote.java

/**
 * Execute the current flow remotely on the server
 * /* ww  w  .  j a v  a  2s  .c o  m*/
 * @throws Exception if a problem occurs
 */
public void executeFlowRemote() throws Exception {
    Exception exception = null;

    NamedTask taskToRun = null;

    if (m_schedule == null) {
        taskToRun = new UnscheduledNamedKFTask(NAME_PREFIX + m_name, m_flowXML, m_sequential, m_parameters);
    } else {
        taskToRun = new ScheduledNamedKFTask(NAME_PREFIX + m_name, m_flowXML, m_sequential, m_parameters,
                m_schedule);

    }

    InputStream is = null;
    // BufferedInputStream bi = null;
    PostMethod post = null;

    try {

        // serialized and compressed
        byte[] serializedTask = WekaServer.serializeTask(taskToRun);
        System.out.println("Sending " + serializedTask.length + " bytes...");

        String service = ExecuteTaskServlet.CONTEXT_PATH + "/?client=Y";
        post = new PostMethod(constructURL(service));
        RequestEntity entity = new ByteArrayRequestEntity(serializedTask);
        post.setRequestEntity(entity);

        post.setDoAuthentication(true);
        post.addRequestHeader(new Header("Content-Type", "application/octet-stream"));

        // Get HTTP client
        HttpClient client = WekaServer.ConnectionManager.getSingleton().createHttpClient();
        WekaServer.ConnectionManager.addCredentials(client, m_username, m_password);

        // Execute request

        int result = client.executeMethod(post);
        System.out.println("Response status from server : " + result);

        // the response
        /*
         * is = post.getResponseBodyAsStream(); bi = new BufferedInputStream(is);
         * StringBuffer bodyB = new StringBuffer(); int c; while ((c =
         * bi.read())!=-1) { bodyB.append((char)c); }
         */

        if (result == 401) {
            // Security problem - authentication required
            /*
             * bodyB.setLength(0); bodyB.append("Unable to send task to server - " +
             * "authentication required.\n");
             */
            System.err.println("Unable to send task to server - authentication required.\n");
        } else {

            is = post.getResponseBodyAsStream();
            ObjectInputStream ois = new ObjectInputStream(is);
            // System.out.println("Number of bytes in response " + ois.available());
            Object response = ois.readObject();
            if (response.toString().startsWith(WekaServlet.RESPONSE_ERROR)) {
                System.err.println("A problem occurred at the sever : \n" + "\t" + response.toString());
            } else {
                System.out.println("Task ID from server : " + response.toString());
            }

            /*
             * String body = bodyB.toString(); if
             * (body.startsWith(WekaServlet.RESPONSE_ERROR)) {
             * System.err.println("A problem occurred at the sever : \n" + "\t" +
             * body); } else { System.out.println("Task ID from server : " + body);
             * }
             */
        }

    } catch (Exception ex) {
        ex.printStackTrace();
        exception = ex;
    } finally {
        /*
         * if (bi != null) { bi.close(); }
         */

        if (is != null) {
            is.close();
        }

        if (post != null) {
            // Release current connection to the connection pool
            post.releaseConnection();
        }
    }

    if (exception != null) {
        throw new Exception(exception.fillInStackTrace());
    }
}

From source file:weka.server.knowledgeFlow.legacy.FlowRunnerRemote.java

/**
 * Execute the current flow remotely on the server
 * //from w w  w  .  ja  v a  2  s . c om
 * @throws Exception if a problem occurs
 */
public void executeFlowRemote() throws Exception {
    Exception exception = null;

    NamedTask taskToRun = null;

    if (m_schedule == null) {
        taskToRun = new LegacyUnscheduledNamedKFTask(NAME_PREFIX + m_name, m_flowXML, m_sequential,
                m_parameters);
    } else {
        taskToRun = new LegacyScheduledNamedKFTask(NAME_PREFIX + m_name, m_flowXML, m_sequential, m_parameters,
                m_schedule);

    }

    InputStream is = null;
    // BufferedInputStream bi = null;
    PostMethod post = null;

    try {

        // serialized and compressed
        byte[] serializedTask = WekaServer.serializeTask(taskToRun);
        System.out.println("Sending " + serializedTask.length + " bytes...");

        String service = ExecuteTaskServlet.CONTEXT_PATH + "/?client=Y";
        post = new PostMethod(constructURL(service));
        RequestEntity entity = new ByteArrayRequestEntity(serializedTask);
        post.setRequestEntity(entity);

        post.setDoAuthentication(true);
        post.addRequestHeader(new Header("Content-Type", "application/octet-stream"));

        // Get HTTP client
        HttpClient client = WekaServer.ConnectionManager.getSingleton().createHttpClient();
        WekaServer.ConnectionManager.addCredentials(client, m_username, m_password);

        // Execute request

        int result = client.executeMethod(post);
        System.out.println("Response status from server : " + result);

        // the response
        /*
         * is = post.getResponseBodyAsStream(); bi = new BufferedInputStream(is);
         * StringBuffer bodyB = new StringBuffer(); int c; while ((c =
         * bi.read())!=-1) { bodyB.append((char)c); }
         */

        if (result == 401) {
            // Security problem - authentication required
            /*
             * bodyB.setLength(0); bodyB.append("Unable to send task to server - " +
             * "authentication required.\n");
             */
            System.err.println("Unable to send task to server - authentication required.\n");
        } else {

            is = post.getResponseBodyAsStream();
            ObjectInputStream ois = new ObjectInputStream(is);
            // System.out.println("Number of bytes in response " + ois.available());
            Object response = ois.readObject();
            if (response.toString().startsWith(WekaServlet.RESPONSE_ERROR)) {
                System.err.println("A problem occurred at the sever : \n" + "\t" + response.toString());
            } else {
                System.out.println("Task ID from server : " + response.toString());
            }

            /*
             * String body = bodyB.toString(); if
             * (body.startsWith(WekaServlet.RESPONSE_ERROR)) {
             * System.err.println("A problem occurred at the sever : \n" + "\t" +
             * body); } else { System.out.println("Task ID from server : " + body);
             * }
             */
        }

    } catch (Exception ex) {
        ex.printStackTrace();
        exception = ex;
    } finally {
        /*
         * if (bi != null) { bi.close(); }
         */

        if (is != null) {
            is.close();
        }

        if (post != null) {
            // Release current connection to the connection pool
            post.releaseConnection();
        }
    }

    if (exception != null) {
        throw new Exception(exception.fillInStackTrace());
    }
}

From source file:weka.server.WekaServer.java

/**
 * Execute a task on a slave server//  w  w  w .j a va  2s . co m
 * 
 * @param entry the task entry for the task
 * @param task the task to execute
 * @param slave the slave to execute on
 * @return true if the task is sent to the slave successfully
 */
protected synchronized boolean executeTaskRemote(WekaTaskEntry entry, NamedTask task, String slave) {

    InputStream is = null;
    PostMethod post = null;
    boolean success = true;
    NamedTask originalTask = task;

    if (task instanceof Scheduled) {
        // scheduling checks are run on this local server. So wrap this
        // scheduled task up in an unscheduled instance for this single
        // execution on the slave
        NamedTask oneTime = new WekaTaskMap.NamedClassDelegator(task);
        task = oneTime;
    }

    try {
        // make sure that the task loads any resources it needs
        // before we pass it on
        task.loadResources();

        byte[] serializedTask = WekaServer.serializeTask(task);
        String url = "http://" + slave;
        url = url.replace(" ", "%20");
        url += ExecuteTaskServlet.CONTEXT_PATH;
        url += "/?client=Y&master=Y";
        post = new PostMethod(url);
        RequestEntity entity = new ByteArrayRequestEntity(serializedTask);
        post.setRequestEntity(entity);

        post.setDoAuthentication(true);
        post.addRequestHeader(new Header("Content-Type", "application/octect-stream"));

        // Get HTTP client
        HttpClient client = ConnectionManager.getSingleton().createHttpClient();
        ConnectionManager.addCredentials(client, m_username, m_password);

        // Execute request
        int result = client.executeMethod(post);
        System.out.println("[WekaServer] Executing task on slave server : " + slave);
        System.out.println("[WekaServer] Sending " + serializedTask.length + " bytes...");
        System.out.println("[WekaServer] Response from slave : " + result);

        if (result == 401) {
            System.err.println("[WekaServer] Unable to send task to " + "slave server (" + slave
                    + ") - authentication required.\n");
            success = false;
        } else {
            is = post.getResponseBodyAsStream();
            ObjectInputStream ois = new ObjectInputStream(is);
            // System.out.println("Number of bytes in response " + ois.available());
            Object response = ois.readObject();

            if (response.toString().startsWith(WekaServlet.RESPONSE_ERROR)) {
                System.err.println(
                        "[WekaServer] A problem occurred at the slave sever : \n" + "\t" + response.toString());
            }
            entry.setRemoteID(response.toString());
            entry.setServer(slave);

            success = true;

            // this will not necessarily capture the execution time of
            // this task as it might get queued at the slave...
            if (originalTask != null) {
                persistTask(entry, originalTask);
            }
        }
    } catch (Exception ex) {
        ex.printStackTrace();
        success = false;
    } finally {
        if (is != null) {
            try {
                is.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        if (post != null) {
            post.releaseConnection();
        }

        // save memory (if possible)
        task.persistResources();
    }

    return success;
}