Thank you Oleg,
Il 26.02.2015 09.52, Oleg Kalnichevski ha scritto:
On Thu, 2015-02-26 at 19:04 +1100, Brett Ryan wrote:
Since I produce the xml in memory, that's the way Marshal.marshal method works,
I could use the ByteArrayEntity using the byte[] from the ByteArrayOutputStream
supplied to marshal.
Could you not do something like
PipedOutputStream out = new PipedOutputStream();
InputStream instr = new PipedInputStream(out);
marshaller.marshal(object, out);
HttpPost post = new HttpPost();
post.setEntity(new InputStreamEntity(instr));
A custom HttpEntity implementation that internally makes use of JAXB
marshaling would be massively more efficient.
Oleg
I agree with you, but efficiency is not an issue.
The client is manageg by an application that gather data to send as an
xml to the target Tomcat.
Data are validated by marshalling before sending by HTTPCLient.
If validation didn't pass, a notification of invalid data is sent to
another service. When validation is succesfull, validated data is sent
by http client.
So putting validation into a custom entity would be a duplicated
operation, then the responsability of validation is not a transport
agent one. Don't you agree?
What I would like to understand, is why an InputStreamEntity would be
better than a StringEntity.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]