Thanks Michael, I did manage to get as far as the following error:
TemplateEngineMissing: Please install a plugin for "json" to use its
functionality.

Full trace below:

********************************************************************************************
URL: http://localhost:8080/project/fetch/798

Module weberror.evalexception:431 in respond          view

<<          try:
                   __traceback_supplement__ =
errormiddleware.Supplement, self, environ
                   app_iter = self.application(environ,
detect_start_response)

                   # Don't create a list from a paste.fileapp object
>>  app_iter = self.application(environ, detect_start_response)
Module tg.configuration:655 in wrapper          view

<<              log.debug("Making request body seekable")
                   Request(environ).make_body_seekable()
               return app(environ, start_response)
           return wrapper
>>  return app(environ, start_response)
Module tg.configuration:555 in remover          view

<<          def remover(environ, start_response):
                   try:
                       return app(environ, start_response)
                   finally:
                       log.debug("Removing DBSession from current
thread")
>>  return app(environ, start_response)
Module repoze.tm:19 in __call__          view

<<              return start_response(status, headers, exc_info)
               try:
                   result = self.application(environ,
save_status_and_headers)
               except:
                   self.abort()
>>  result = self.application(environ, save_status_and_headers)
Module repoze.who.middleware:107 in __call__          view

<<          wrapper = StartResponseWrapper(start_response)
               app_iter = app(environ, wrapper.wrap_start_response)

               # The challenge decider almost(?) always needs
information from the
>>  app_iter = app(environ, wrapper.wrap_start_response)
Module tw.core.middleware:43 in __call__          view

<<      def __call__(self, environ, start_response):
               return self.wsgi_app(environ, start_response)

           def wsgi_app(self, environ, start_response):
>>  return self.wsgi_app(environ, start_response)
Module tw.core.middleware:68 in wsgi_app          view

<<              else:
                       # Pass request downstream
                       resp = req.get_response(self.application)
                   return resp(environ, start_response)
               finally:
>>  resp = req.get_response(self.application)
Module webob:1325 in get_response          view

Module webob:1293 in call_application          view

Module tw.core.resource_injector:68 in _injector          view

<<      def _injector(environ, start_response):
               req = Request(environ)
               resp = req.get_response(app)
               content_type = resp.headers.get('Content-Type','text/
plain').lower()
               if 'html' in content_type:
>>  resp = req.get_response(app)
Module webob:1325 in get_response          view

Module webob:1293 in call_application          view

Module beaker.middleware:81 in __call__          view

<<
self.cache_manager)
               environ[self.environ_key] = self.cache_manager
               return self.app(environ, start_response)
>>  return self.app(environ, start_response)
Module beaker.middleware:160 in __call__          view

<<                          headers.append(('Set-cookie', cookie))
                   return start_response(status, headers, exc_info)
               return self.wrap_app(environ, session_start_response)

           def _get_session(self):
>>  return self.wrap_app(environ, session_start_response)
Module routes.middleware:130 in __call__          view

<<                  environ['SCRIPT_NAME'] = environ['SCRIPT_NAME']
[:-1]

               response = self.app(environ, start_response)

               # Wrapped in try as in rare cases the attribute will be
gone already
>>  response = self.app(environ, start_response)
Module pylons.wsgiapp:125 in __call__          view

<<
               controller = self.resolve(environ, start_response)
               response = self.dispatch(controller, environ,
start_response)

               if 'paste.testing_variables' in environ and
hasattr(response,
>>  response = self.dispatch(controller, environ, start_response)
Module pylons.wsgiapp:324 in dispatch          view

<<          if log_debug:
                   log.debug("Calling controller class with WSGI
interface")
               return controller(environ, start_response)

           def load_test_env(self, environ):
>>  return controller(environ, start_response)
Module projects.lib.base:32 in __call__          view

<<          request.identity =
request.environ.get('repoze.who.identity')
               tmpl_context.identity = request.identity
               return TGController.__call__(self, environ,
start_response)
>>  return TGController.__call__(self, environ, start_response)
Module pylons.controllers.core:221 in __call__          view

<<                  return response(environ, self.start_response)

               response = self._dispatch_call()
               if not start_response_called:
                   self.start_response = start_response
>>  response = self._dispatch_call()
Module pylons.controllers.core:172 in _dispatch_call          view

<<              req.environ['pylons.action_method'] = func

                   response = self._inspect_call(func)
               else:
                   if log_debug:
>>  response = self._inspect_call(func)
Module pylons.controllers.core:107 in _inspect_call          view

<<                        func.__name__, args)
               try:
                   result = self._perform_call(func, args)
               except HTTPException, httpe:
                   if log_debug:
>>  result = self._perform_call(func, args)
Module tg.controllers:857 in _perform_call          view

<<                  return
                   result = DecoratedController._perform_call(
                       self, controller, params, remainder=remainder)

               except HTTPException, httpe:
>>  self, controller, params, remainder=remainder)
Module tg.controllers:182 in _perform_call          view

<<          controller.decoration.run_hooks('before_render',
remainder, params,
                                               output)
               response = self._render_response(controller, output)
               controller.decoration.run_hooks('after_render',
response)
               return response
>>  response = self._render_response(controller, output)
Module tg.controllers:321 in _render_response          view

<<              if engine_name not in _configured_engines():
                       template_options =
dict(config).get('buffet.template_options', {})
                       buffet.prepare(engine_name, **template_options)
                       _configured_engines().add(engine_name)
>>  buffet.prepare(engine_name, **template_options)
Module pylons.templating:409 in prepare          view

<<          if not Engine:
                   raise TemplateEngineMissing('Please install a
plugin for '
                       '"%s" to use its functionality' % engine_name)
               engine_name = alias or engine_name
               extra_vars_func = config.pop(engine_name +
'.extra_vars_func', None)
>>  '"%s" to use its functionality' % engine_name)
TemplateEngineMissing: Please install a plugin for "json" to use its
functionality

***************************************************************************************************

Does this mean that I need to find additional software (plugin) to
install on the server?

Thanks,
Michael


On Feb 22, 1:34 am, Michael Pedersen <[email protected]> wrote:
> In production mode (debug=false), you will receive emails (if you have
> things configured properly) giving you a full stack trace. An error 500
> would cause that stack trace.
>
> And: Having that stack trace would help us help you. Heck, you might even
> figure it out without us. Please get the email config set up, get the stack
> trace, and send it in? We'll be happy to help.
>
>
>
>
>
> On Mon, Feb 21, 2011 at 5:52 AM, mpearce <[email protected]> wrote:
> > My TG2 application is running on Windows and has a number of functions
> > using JSON to update dropdown boxes and FlexGrid widgets (tw.jquery)
> > etc. These functions work well in the development environment (ie.
> > paster serve in a dos prompt window). However, in the production
> > environment, where the server runs as a windows service (setup using
> > wsgisvc), the jason functions do not work. The server returns status
> > 500. Anyone else have this problem?
>
> > Thanks, Michael
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "TurboGears" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected].
> > For more options, visit this group at
> >http://groups.google.com/group/turbogears?hl=en.
>
> --
> Michael J. Pedersen
> My IM IDs: Jabber/[email protected], ICQ/103345809, AIM/pedermj022171
>           Yahoo/pedermj2002, MSN/[email protected] Hide quoted text -
>
> - Show quoted text -

-- 
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/turbogears?hl=en.

Reply via email to