Absolutely.
FWIW; Jame's Error produces mostly all you need.
We added a couple of extensions -- e.g. to return an edit link for
cases like OptimisticConcurrenyException
Cheers,
-- Chris
On May 12, 2008, at 10:26 AM, James M Snell wrote:
One of the things I pushed for in the Atompub WG but didn't get was
a standardized error reporting format. I still think it would be a
good idea.
Remy Gendron wrote:
Hello all,
Your example David is pretty much what I'm looking for:
* Errors and warnings returned as an Atom feed.
* Use of standard 4xx HTTP codes to enable generic processing by
applications not aware of the specifics below.
* Ability to return, in an Atom entry, an application error code
(a:id), a
message id (a:subtitle), a number of message arguments (a:content),
a non
internationalized error message (a:title) and support/debugging
information
(a:summary).
My adapters are based on AbstractEntityCollectionAdapter. Can
anyone suggest
how I can in AbstractEntityCollectionAdapter.postEntry() build and
then
return an error feed? AbstractProvider error handling seems geared
toward
catching exceptions from adapters.
This would simply be a matter of implementing your own
ResponseContext. The easiest way would be to use
EntityProviderResponseContext and implement an EntityProvider to
serialize out the error details.
- James
Could I, in my adapter, manually create the error feed, then use
ProviderHelper.createErrorResponse passing the feed.toXML() as the
message
argument and then throwing a new
ResponseContextException(myHTTPCode)?
Is there a better way to do it to be aligned with the error handling
architecture of Abdera?
Thanks,
Rémy
[EMAIL PROTECTED]
418 809-8585
http://arrova.ca
-----Original Message-----
From: David Calavera [mailto:[EMAIL PROTECTED] Sent: May 6,
2008 03:54
To: [email protected]
Cc: [EMAIL PROTECTED]
Subject: Re: Error messages
Hi, this is not about abdera, so sorry by the off topic. I'm doing
something
similar in the(ape.rubyforge.org). I have an atom format report
that shows
me a feed with errors and warnings, the structure is like this:
<feed xmlns="http://www.w3.org/2005/Atom">
<id>id</id>
<updated>date</updated>
<title> feed title </title>
<author><name>The ape</name></author>
<subtitle>4 errors, 11 warnings</subtitle> # a little summary
<entry>
<id>id</id>
<updated>date</updated>
<title> a sentence that explains what's happening</title>
<content> communication log between the client and the atompub
server
</content>
<category term=" error or warning or info or debug "/> #log type
</entry>
</feed>
On Tue, May 6, 2008 at 1:35 AM, Alexandre Bairos
<[EMAIL PROTECTED]>
wrote:
I'm using something in the lines of
<?xml version='1.0' encoding='UTF8'?>
<error xmlns="http://incubator.apache.org/abdera">
<code>1400</code>
<message>InvalidArticleTitle</message>
</error>
which Abdera has out of the box with some minor adjustments.
These error elements comes in a http error response, with 400,
500, etc.
Google Gdata has a <reason/> and <input/> subelements.
For Bad request errors, an errors root element would do the trick of
returning multiple errors like in the following snippet:
<?xml version='1.0' encoding='UTF8'?>
<errors>
<error xmlns="http://incubator.apache.org/abdera">
<code>1400</code>
<message>InvalidArticleTitle</message>
</error>
<error xmlns="http://incubator.apache.org/abdera">
<code>1401</code>
<message>InvalidArticleBodyLength</message>
</error>
</errors>
Alexandre Bairos
On Mon, May 5, 2008 at 12:57 PM, Remy Gendron <[EMAIL PROTECTED]>
wrote:
Hello all,
I am currently implementing server side validations (for those
interested,
using Spring validation package with Hibernate Validator for the
simple
validations).
Any of you have recommendations/insights as to the returned XML
payload
when
errors are encountered?
I need to return something like a list of error object
designators, the
error codes and a default, non localized human readable error
message.
I was considering returning this as a feed collection, each error
being
wrapped in an entry. Or do you recommend a specific XML schema
for the
errors? Or something else?
Some might say that the error code should be enough. However, I
would
like
to give the caller the opportunity to provide the user with a
minimum of
information when errors are reported.
Thanks,
Rémy