Re: Adding/removing JAX-RS resources at runtime

2009-06-13 Thread Stephan Koops
Hi Fabio,

sorry for the delay, I was on holiday.
You could

   1. create and add another subclass of javax.ws.rs.Application, with
  your additional classes,
   2. build a subclass or org.restlet.ext.jaxrs.JaxRsApplication, where
  you could add the singletons or classes directly, or
   3. use your proposal.

I preferer the first or second way, because you don't need to double the 
initialization code.

best regards
   Stephan

webp...@tigris.org schrieb:
 Hi everybody,

 a quick question to evaluate the feasibility of a project. Is it possible to 
 dynamically add or remove resources and providers from a JAX-RS application?

 I looked at the API and it doesn't seem possible, though the class 
 JaxRsRestlet gives some hope. Maybe by using directly this class (with a bit 
 of code duplication for the initialization) instead of initializing the 
 application in the canonical way using JaxRsApplication + 
 javax.ws.rs.core.Application would work.

 Any hint/comment?

 Thanks,
 Fabio


--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2361867


Re: Response for a 405 can't be parsed by SAX

2009-06-13 Thread Rhett Sutphin
Hi Stephan,

On Jun 13, 2009, at 3:45 PM, Stephan Koops wrote:

 Hi Rhett,
 Hello Everyone, I had a question about the 405 response message
 returned by Restlet 1.1.1.  When I try a parse the XML response, I
 get the following:

[Fatal Error] :8:3: The element type br must be terminated by
 the matching end-tag /br.

 The entire response:

 html
 head
  titleStatus page/title
 /head
 body
 h3The method specified in the request is not allowed for the
 resource identified by the request URI/h3pYou can get technical
 details a 
 href=http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.6
 here/a.br
 Please continue your visit at our a href=/home page/a.
 /p
 /body
 /html

 I'm sure I can edit the response before it gets out of my service,
 but I thought this might be something useful to bring up.

 Thanks for any insight.


 SAX can't parse it because it's HTML, not XML.  (br alone is valid
 HTML.)  You should be able to determine whether it is HTML or XML in
 your client by examining the content type header.  Is restlet not
 setting that header correctly?

 If you want to provide XML-formatted error responses, I believe  
 you'll
 have to implement them yourself.
 But it is a problem, if Restlet would return br/ instead od br ?
 Than it is also correct XML (and XHTML?)

I wouldn't have a problem with that.  At the same time, though, I  
don't see why you'd need to parse it as XML.  The message is basically  
just translating from the error code into English.  Since the error  
code is already part of the response, doesn't it make more sense to  
skip parsing the body if there's an error and the service you're  
talking to doesn't define special error bodies?

After all, if the representation being requested were JSON (or PNG, or  
PDF, etc.), you'd get this same response body back with the error (by  
default).  It's not Restlet's job to provide error bodies that are  
parseable as the same content type as a success would be.

Rhett

--
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447dsMessageId=2361892