How to parse a custom XML-style error code response from a website

Posted by user1870127 on Stack Overflow See other posts from Stack Overflow or by user1870127
Published on 2012-12-02T11:01:57Z Indexed on 2012/12/02 11:03 UTC
Read the original article Hit count: 330

Filed under:
|
|
|

I'm developing a program that queries and prints out open data from the local transit authority, which is returned in the form of an XML response.

Normally, when there are buses scheduled to run in the next few hours (and in other typical situations), the XML response generated by the page is handled correctly by the java.net.URLConnection.getInputStream() function, and I am able to print the individual results afterwards.

The problem is when the buses are NOT running, or when some other problem with my queries develops after it is sent to the transit authority's web server. When the authority developed their service, they came up with their own unique error response codes, which are also sent as XMLs. For example, one of these error messages might look like this:

<Error xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Code>3005</Code>
<Message>Sorry, no stop estimates found for given values.</Message>
</Error>

(This code and similar is all that I receive from the transit authority in such situations.)

However, it appears that URLConnection.getInputStream() and some of its siblings are unable to interpret this custom code as a "valid" response that I can handle and print out as an error message. Instead, they give me a more generic HTTP/1.1 404 Not Found error. This problem cascades into my program which then prints out a java.io.FileNotFoundException error pointing to the offending input stream.

My question is therefore two-fold:

1. Is there a way to retrieve, parse, and print a custom XML-formatted error code sent by a web service using the plugins that are available in Java?

2. If the above is not possible, what other tools should I use or develop to handle such custom codes as described?

© Stack Overflow or respective owner

Related posts about java

Related posts about Xml