example - libreria httpclient java
PostMethod setRequestBody(String) obsoleto-¿por qué? (2)
Estoy usando Apache Commons HttpClient PostMethod 3.1.
En la clase PostMethod también hay tres métodos para configurar el cuerpo de solicitud del método POST:
setRequestBody(InputStream body)
setRequestBody(String body)
setRequestBody(NameValuePair[] parametersBody);
API NameValuePair
Los primeros dos métodos están en desuso. ¿Alguien sabe por qué? Porque si quiero poner un XML para solicitar cuerpo, NameValuePair no me ayuda.
¿Alguien sabe una solución alternativa o una solución?
El javadoc dice:
Obsoleto. use setRequestEntity (RequestEntity)
RequestEntity tiene muchos implementadores, a saber:
ByteArrayRequestEntity, FileRequestEntity, InputStreamRequestEntity, MultipartRequestEntity, StringRequestEntity
Usa el que más te convenga:
- si su xml está en una
String
, use laStringRequestEntity
- si está en un archivo, use
FileRequestEntity
y así.
Sí, así que por ejemplo,
post.setRequestEntity( new StringRequestEntity( xml ) );
en lugar de
post.setRequestBody( xml );