I am using a RemoteConverter
from a jBoss web application to a standalone server built as the default server-standalone
included into documents4j project.
Inside jboss I've got an old version of required libraries httpclient-4.0.1.jar
and related httpcore-4.0.1.jar
so I'm facing with a lot of ClassDefNotFoundException
caused by the different version of the jar loaded by JVM.
There is a specific problem with HttpClientConnectionManager
object that is not available yet in version
To avoid this problem I'd like to bluild a custom http client for the standalone-server
, because, due to the previous problems, it's not possible for me to use Jersey
.
Has someone build a different client for that standalone-server
? What are the specs to build a custom RemoteClient
?
UPDATE 1
After a little bit of analysis with the help of a sniffing tool, I figured out the composition of the message, so I've just ended a custom HttpClient
for that server as following:
File wordFile = new File("C:/temp/test.docx");
InputStream targetStream = new FileInputStream(wordFile);
URL url = new URL("http://localhost:9998");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/vnd.com.documents4j.any-msword");
conn.setRequestProperty("Accept", "application/pdf");
conn.setRequestProperty("Converter-Job-Priority", "1000");
OutputStream os = conn.getOutputStream();
os.write(IOUtils.toByteArray(targetStream));
os.flush();
if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) {
throw new RuntimeException("Failed : HTTP error code : "
+ conn.getResponseCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));
FileWriter ostream = new FileWriter("C:/temp/test.pdf");
BufferedWriter out = new BufferedWriter(ostream);
String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
System.out.println(output);
out.write(output+"\n");
}
br.close();
out.close();
os.close();
conn.disconnect();
Now I've got another problem, if I try to open just created test.pdf file it is all white but with the right number of pages. If I open the file with a text editor and analyze the beginning and the end of file I found the following chars:
%PDF-1.5
%µµµµ
1 0 obj
[...]
startxref
1484122
%%EOF
It seems to be a good PDF file.
There is something else to do with that file received from REST Server?