I am using Apache Commons HttpClient PostMethod 3.1.
In the PostMethod class there are also three methods for setting POST method's request body:
setRequestBody(InputStream body) setRequestBody(String body) setRequestBody(NameValuePair[] parametersBody);
NameValuePair API
First two methods are deprecated. Does anybody knows why? Because if I want to put an XML to request body, NameValuePair does not help me.
Does anybody knows an workaround or a solution?
The javadoc says:
Deprecated. use setRequestEntity(RequestEntity)
RequestEntity has a lot of implementors, namely:
ByteArrayRequestEntity, FileRequestEntity, InputStreamRequestEntity, MultipartRequestEntity, StringRequestEntity
Use the one that suits you:
String
, use the StringRequestEntity
FileRequestEntity
and so on.
Yes, so for example,
post.setRequestEntity( new StringRequestEntity( xml ) );
instead of
post.setRequestBody( xml );
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With