Cómo enviar XML de la petición POST usando Apache HttpClient?

Quiero hacer un HTTP POST de el formato de la siguiente manera,

<?xml version="1.0" encoding="UTF-8" ?>
<authRequest>
 <username>someusernamehere</username>
 <password>somepasswordhere</password>
</authRequest>

Generalmente trabajo con el siguiente mecanismo para cualquier inicio de sesión basado POST,

HttpParams params = new BasicHttpParams();
        params.setParameter(
                "http.useragent",
                "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2) Gecko/20100115 Firefox/3.6");
        DefaultHttpClient httpclient = new DefaultHttpClient(params);

        HttpPost httppost = new HttpPost("http://mysite.com/login");
        List<NameValuePair> formparams = new ArrayList<NameValuePair>();
        formparams.add(new BasicNameValuePair("username", "stackoverflow"));
        formparams.add(new BasicNameValuePair("password", "12345"));
        UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "UTF-8");
        httppost.setEntity(entity);
        HttpResponse httpresponse = httpclient.execute(httppost);

Pero con esta forma, los datos de envío serán parecer,

username=stackoverflow&password=12345

¿Cómo puedo dar formato a esta petición como por el especificado formato XML que he mencionado anteriormente?

Gracias de antemano.

InformationsquelleAutor Dinesh | 2012-03-24

1 Kommentar

  1. 5

    Usar un tipo diferente de HttpEntity. Hay un número de implementaciones aparece en la parte superior de la documentación.

    • Gracias McDowell 🙂
    • Gracias por enlazar a una página que muestra toda la aplicación en lugar de una sola aplicación!

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea