I\'m using Java and i\'m trying to get XML document from some http link. Code I\'m using is:
URL url = new URL(link);
HttpURLConnection connection = (HttpUR
The real solution that I found for this issue was by disabling any XML Format post processors. I have added a post processor called "jp@gc - XML Format Post Processor
" and started noticing the error "Fatal Error :1:1: Content is not allowed in prolog
"
By disabling the post processor had stopped throwing those errors.
It could be not supported file encoding. Change it to UTF-8 for example.
I've done this using Sublime
I'm turning my comment to an answer, so it can be accepted and this question no longer remains unanswered.
The most likely cause of this is a malformed response, which includes characters before the initial <?xml …>
. So please have a look at the document as transferred over HTTP, and fix this on the server side.
Someone should mark Johannes Weiß's comment as the answer to this question. That is exactly why xml documents can't just be loaded in a DOM Document class.
http://en.wikipedia.org/wiki/Byte_order_mark
There are certainly some weird characters (e.g. BOM) or some whitespace before the XML preamble (<?xml ...?>
)?
Looks like you forgot adding correct headers to your get request (ask the REST API developer or you specific API description):
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.header("Accept", "application/xml")
connection.setRequestMethod("GET");
connection.connect();
or
connection.header("Accept", "application/xml;version=1")