Problem solved. Before doing a debug session I first wanted to rule out 
possible differences between environments. It seemed that the Apache reverse 
proxy for the acceptance testing server wasn't configured correctly...

Sorry for the inconvenience.

Erik

________________________________________
From: Dan Haywood [[email protected]]
Sent: Friday, June 20, 2014 1:57 PM
To: users
Subject: Re: internal server error after invoking restful action

On 20 June 2014 12:49, Erik de Hair <[email protected]> wrote:

> Ok, I've got remote debugging setup.
>
> @Dan: the answer for your question you asked before:
>
> The content type in Response.java:806 is
> application/json;profile=urn:org.restfulobjects:repr-types/error
>
>
thanks...



> Do you need more information?
>
>
yes, all the above is telling me (unfortunately) is that there's been a
server-side error.  Which I guess we know.

I think I need to see this breakage first-hand.  Contact me off-list if you
want to do a remote debugging session.

Dan




> Thanks for your help,
> Erik
>
> ________________________________________
> From: Dan Haywood [[email protected]]
> Sent: Thursday, June 19, 2014 10:27 AM
> To: users
> Subject: Re: internal server error after invoking restful action
>
> It seems that Tomcat is barfing in attempting to render the response
> generated by RO, so I'm not ruling out there being a bug here in Isis
> somehow.  But definitely need more information.
>
> As suggested before, we can do a remote pairing session if you wish....
> would like to understand this issue better myself.
>
> Dan
>
>
> On 18 June 2014 14:07, Jeroen van der Wal <[email protected]> wrote:
>
> > Hi Erik,
> >
> > You could try to set up remote debugging:
> > http://wiki.apache.org/tomcat/FAQ/Developing
> >
> >
> http://stackoverflow.com/questions/3835612/remote-debugging-tomcat-with-eclipse
> >
> > Cheers,
> >
> > Jeroen
> >
> >
> > On Wed, Jun 18, 2014 at 2:26 PM, Erik de Hair <[email protected]> wrote:
> > > Hi Dan,
> > >
> > > Get the same error again. This time it's not related to only one method
> > but I can't access /portal/restful (or sub URI's) anymore. It is only on
> 1
> > server where the application is remotely deployed. Two others have no
> > problem. They have the same installed OS, Tomcat versions and JRE.
> > >
> > > Any clue? Don't know how to debug this as I can't reproduce it in a
> > development environment.
> > >
> > > StackTrace
> > > ==================================
> > >
> > > javax.servlet.ServletException: Servlet execution threw an exception
> > >
> >
> org.apache.isis.viewer.restfulobjects.server.webapp.IsisTransactionFilterForRestfulObjects.doFilter(IsisTransactionFilterForRestfulObjects.java:41)
> > >
> >
> org.apache.isis.core.webapp.IsisSessionFilter$SessionState$1.handle(IsisSessionFilter.java:320)
> > >
> >
> org.apache.isis.core.webapp.IsisSessionFilter.doFilter(IsisSessionFilter.java:409)
> > >
> >
> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
> > >
> >
> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
> > >
> >
> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
> > >
> >
> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
> > >
> >
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
> > >
> >
> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
> > >
> >
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
> > > root cause
> > >
> > > org.apache.tomcat.util.http.parser.TokenMgrError: Lexical error at line
> > 1, column 29.  Encountered: ":" (58), after : ""
> > >
> >
> org.apache.tomcat.util.http.parser.HttpParserTokenManager.getNextToken(HttpParserTokenManager.java:434)
> > >
> > org.apache.tomcat.util.http.parser.HttpParser.jj_ntk(HttpParser.java:300)
> > >
> >
> org.apache.tomcat.util.http.parser.HttpParser.MediaType(HttpParser.java:21)
> > >
> > org.apache.catalina.connector.Response.setContentType(Response.java:806)
> > >
> >
> org.apache.catalina.connector.Response.checkSpecialHeader(Response.java:1140)
> > >
> > org.apache.catalina.connector.Response.addHeader(Response.java:1121)
> > >
> >
> org.apache.catalina.connector.ResponseFacade.addHeader(ResponseFacade.java:547)
> > >
> >
> org.jboss.resteasy.plugins.server.servlet.HttpServletResponseHeaders.addResponseHeader(HttpServletResponseHeaders.java:64)
> > >
> >
> org.jboss.resteasy.plugins.server.servlet.HttpServletResponseHeaders.add(HttpServletResponseHeaders.java:50)
> > >
> >
> org.jboss.resteasy.plugins.server.servlet.HttpServletResponseHeaders.putAll(HttpServletResponseHeaders.java:119)
> > >
> >
> org.jboss.resteasy.core.ServerResponse.commitHeaders(ServerResponse.java:312)
> > >
> > org.jboss.resteasy.core.ServerResponse$1.commit(ServerResponse.java:232)
> > >
> >
> org.jboss.resteasy.util.CommitHeaderOutputStream.commit(CommitHeaderOutputStream.java:50)
> > >
> >
> org.jboss.resteasy.util.CommitHeaderOutputStream.write(CommitHeaderOutputStream.java:63)
> > >
> >
> org.jboss.resteasy.plugins.providers.StringTextStar.writeTo(StringTextStar.java:60)
> > >
> >
> org.jboss.resteasy.plugins.providers.StringTextStar.writeTo(StringTextStar.java:20)
> > >
> > org.jboss.resteasy.core.ServerResponse.writeTo(ServerResponse.java:243)
> > >
> >
> org.jboss.resteasy.core.SynchronousDispatcher.writeJaxrsResponse(SynchronousDispatcher.java:616)
> > >
> >
> org.jboss.resteasy.core.SynchronousDispatcher.writeFailure(SynchronousDispatcher.java:447)
> > >
> >
> org.jboss.resteasy.core.SynchronousDispatcher.executeExceptionMapper(SynchronousDispatcher.java:349)
> > >
> >
> org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:248)
> > >
> >
> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:130)
> > >
> >
> org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
> > >
> >
> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
> > >
> >
> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
> > >         javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> > >
> >
> org.apache.isis.viewer.restfulobjects.server.webapp.IsisTransactionFilterForRestfulObjects.doFilter(IsisTransactionFilterForRestfulObjects.java:41)
> > >
> >
> org.apache.isis.core.webapp.IsisSessionFilter$SessionState$1.handle(IsisSessionFilter.java:320)
> > >
> >
> org.apache.isis.core.webapp.IsisSessionFilter.doFilter(IsisSessionFilter.java:409)
> > >
> >
> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
> > >
> >
> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
> > >
> >
> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
> > >
> >
> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
> > >
> >
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
> > >
> >
> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
> > >
> >
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
> > >
> > >
> > > ________________________________________
> > > From: Erik de Hair [[email protected]]
> > > Sent: Friday, May 30, 2014 8:35 PM
> > > To: [email protected]
> > > Subject: Re: internal server error after invoking restful action
> > >
> > > Hi Dan,
> > >
> > > I wanted to give the debugging a try but I can't reproduce the anymore.
> > I put back the same return type but it works fine now...
> > >
> > > Will contact you when it pops up again.
> > >
> > > Erik
> > >
> > >
> > > On 05/30/2014 11:08 AM, Dan Haywood wrote:
> > >
> > > On 30 May 2014 07:47, "Erik de Hair" <[email protected]><mailto:
> > [email protected]> wrote:
> > >
> > >
> > >
> > > Hi Dan,
> > >
> > > Haven't had the possibility to find some more information. Looks like I
> > > should go debugging Tomcat (libraries). Never done that before so that
> > will
> > > take some time (that I don't have ;-) ).
> > >
> > >
> > >
> > >
> > > OK.  We can always do a bit of remote pairing if you want... contact me
> > > off-list.
> > >
> > >
> > >
> > >
> > >
> > > It looks like it depends on the return type of the method. I didn't
> need
> > > the return type in this case so I had a workaround. I tagged the
> message
> > > for picking this up later and I expect to use the same return type in
> the
> > > future so this wil pop up again.
> > >
> > >
> > >
> > >
> > > Cheers
> > >
> > > Dan
> > >
> > >
> > >
> > >
> > > Erik
> > >
> > > On 05/29/2014 07:13 AM, Dan Haywood wrote:
> > >
> > > Hi Erik,
> > > any chance of further information on this breakage?
> > > Thx
> > > Dan
> > >
> > >
> > > On 20 May 2014 16:27, Dan Haywood <[email protected]
> ><mailto:
> > [email protected]><mailto:
> > > [email protected]><mailto:[email protected]>
> > wrote:
> > >
> > >
> > >
> > > Hi Erik,
> > > hmm, thx for reporting this, but not seen it before.
> > >
> > > From the stacktrace, looks like the content type set in the header is
> > > invalid somehow.
> > >
> > > Any chance of putting a breakpoint when the exception is thrown [a] and
> > > then look back at point [b] to see what is being set?
> > >
> > > [a]   at org.apache.tomcat.util.http.parser.HttpParserTokenManager.
> > > getNextToken(HttpParserTokenManager.java:434)
> > >         at org.apache.tomcat.util.http.parser.HttpParser.jj_ntk(
> > > HttpParser.java:300)
> > >         at org.apache.tomcat.util.http.parser.HttpParser.MediaType(
> > > HttpParser.java:21)
> > > [b]    at org.apache.catalina.connector.Response.setContentType(
> > > Response.java:806)
> > >
> > > Thx
> > > Dan
> > >
> > >
> > >
> > >
> > > On 20 May 2014 14:33, Erik de Hair <[email protected]><mailto:
> [email protected]
> > ><mailto:[email protected]><mailto:[email protected]>
> > > wrote:
> > >
> > >
> > >
> > > Hi Dan,
> > >
> > > I receive an error ( 500 Internal Server Error) after posting to the
> > > restful interface. The action itself (confirmNewUserAccount) executed
> > > successfully (can see that in the logs). Any idea?
> > >
> > > @NotInServiceMenu
> > >     public Contact confirmNewUserAccount(
> > >             @Named("hashedUsername") String hashedUsername,
> > >             @Named("password") String password,
> > >             @Named("passwordRepeated") String passwordRepeated) {
> > >         Contact user = findUserByHashedUsername(hashedUsername);
> > >
> > >         user.setActive(true);
> > >         user.setEnabled(true);
> > >
> > >         user.setPassword(password);
> > >
> > >         persistIfNotAlready(user);
> > >
> > >         try {
> > >             sendUserAccountActivedEmail(user.getEmail());
> > >         } catch(Exception e){
> > >
> > >
> > >
> >
> warnUser(messages.getString("contacts.confirmnewaccount.error_sending_confirmation_mail"));
> > >             LOG.warn("error sending confirmation message to activated
> > > user with email address '"+ user.getEmail() +"'", e);
> > >         }
> > >         return user;
> > >     }
> > >
> > > SEVERE: Servlet.service() for servlet
> [RestfulObjectsRestEasyDispatcher]
> > > in context with path [/portal] threw exception [Servlet execution threw
> > an
> > > exception] with root cause
> > > org.apache.tomcat.util.http.parser.TokenMgrError: Lexical error at line
> > > 1, column 29.  Encountered: ":" (58), after : ""
> > >         at
> > >
> > >
> >
> org.apache.tomcat.util.http.parser.HttpParserTokenManager.getNextToken(HttpParserTokenManager.java:434)
> > >         at
> > >
> org.apache.tomcat.util.http.parser.HttpParser.jj_ntk(HttpParser.java:300)
> > >         at
> > >
> >
> org.apache.tomcat.util.http.parser.HttpParser.MediaType(HttpParser.java:21)
> > >         at
> > >
> org.apache.catalina.connector.Response.setContentType(Response.java:806)
> > >         at
> > >
> > >
> >
> org.apache.catalina.connector.Response.checkSpecialHeader(Response.java:1140)
> > >         at
> > > org.apache.catalina.connector.Response.addHeader(Response.java:1121)
> > >         at
> > >
> > >
> >
> org.apache.catalina.connector.ResponseFacade.addHeader(ResponseFacade.java:547)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.plugins.server.servlet.HttpServletResponseHeaders.addResponseHeader(HttpServletResponseHeaders.java:64)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.plugins.server.servlet.HttpServletResponseHeaders.add(HttpServletResponseHeaders.java:50)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.plugins.server.servlet.HttpServletResponseHeaders.putAll(HttpServletResponseHeaders.java:119)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.core.ServerResponse.commitHeaders(ServerResponse.java:312)
> > >         at
> > >
> org.jboss.resteasy.core.ServerResponse$1.commit(ServerResponse.java:232)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.util.CommitHeaderOutputStream.commit(CommitHeaderOutputStream.java:50)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.util.CommitHeaderOutputStream.write(CommitHeaderOutputStream.java:63)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.plugins.providers.StringTextStar.writeTo(StringTextStar.java:60)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.plugins.providers.StringTextStar.writeTo(StringTextStar.java:20)
> > >         at
> > > org.jboss.resteasy.core.ServerResponse.writeTo(ServerResponse.java:243)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.core.SynchronousDispatcher.writeJaxrsResponse(SynchronousDispatcher.java:616)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.core.SynchronousDispatcher.writeFailure(SynchronousDispatcher.java:447)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.core.SynchronousDispatcher.executeExceptionMapper(SynchronousDispatcher.java:349)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.core.SynchronousDispatcher.unwrapException(SynchronousDispatcher.java:373)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:362)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:233)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:209)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:557)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
> > >         at
> > >
> > >
> >
> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
> > >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
> > >         at
> > >
> > >
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
> > >         at
> > >
> > >
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> > >         at
> > >
> > >
> >
> org.apache.isis.viewer.restfulobjects.server.webapp.IsisTransactionFilterForRestfulObjects.doFilter(IsisTransactionFilterForRestfulObjects.java:41)
> > >         at
> > >
> > >
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> > >         at
> > >
> > >
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> > >         at
> > >
> > >
> >
> org.apache.isis.core.webapp.IsisSessionFilter$SessionState$1.handle(IsisSessionFilter.java:320)
> > >         at
> > >
> > >
> >
> org.apache.isis.core.webapp.IsisSessionFilter.doFilter(IsisSessionFilter.java:409)
> > >         at
> > >
> > >
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> > >         at
> > >
> > >
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> > >         at
> > >
> > >
> >
> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
> > >         at
> > >
> > >
> >
> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
> > >         at
> > >
> > >
> >
> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
> > >         at
> > >
> > >
> >
> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
> > >         at
> > >
> > >
> >
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
> > >         at
> > >
> > >
> >
> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
> > >         at
> > >
> > >
> >
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
> > >         at
> > >
> > >
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
> > >         at
> > >
> > >
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
> > >         at
> > >
> > >
> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
> > >         at
> > >
> > >
> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
> > >         at
> > >
> > >
> >
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
> > >         at
> > >
> > >
> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
> > >         at
> > >
> > >
> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
> > >         at
> > >
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
> > >         at
> > >
> > >
> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
> > >         at
> > >
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
> > >         at
> > >
> > >
> >
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
> > >         at
> > >
> > >
> >
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
> > >         at
> > >
> > >
> >
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
> > >         at
> > >
> > >
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
> > >         at
> > >
> > >
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> > >         at java.lang.Thread.run(Thread.java:701)
> > >
> > > Thanks,
> > > Erik
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
>

Reply via email to