java xml request apache-httpclient-4.x

java - Escribir en la solicitud del cuerpo con HttpClient



xml request (2)

Quiero escribir el cuerpo de una solicitud con el tipo de contenido XML, pero no sé cómo con HttpClient Object ( http://hc.apache.org/httpclient-3.x/apidocs/index.html )

DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpRequest = new HttpPost(this.url); httpRequest.setHeader("Content-Type", "application/xml");

Y no sé cómo continuar escribiendo el cuerpo con mi XML ...


Extender su código (suponiendo que el XML que desea enviar está en xmlString ):

String xmlString = "</xml>"; DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpRequest = new HttpPost(this.url); httpRequest.setHeader("Content-Type", "application/xml"); StringEntity xmlEntity = new StringEntity(xmlString); httpRequest.setEntity(xmlEntity ); HttpResponse httpresponse = httpclient.execute(httppost);


Si tu xml está escrito por java.lang.String puedes simplemente usar HttpClient de esta manera

public void post() throws Exception{ HttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost("http://www.baidu.com"); String xml = "<xml>xxxx</xml>"; HttpEntity entity = new ByteArrayEntity(xml.getBytes("UTF-8")); post.setEntity(entity); HttpResponse response = client.execute(post); String result = EntityUtils.toString(response.getEntity()); }

presta atención a las Excepciones.

Por cierto, el ejemplo está escrito por la versión httpclient 4.x