2014-10-31 4 views
0

У меня возникла проблема с моим приложением, запущенным на сервере Weblogic. Странная часть заключается в том, что приложение отлично работает на 3 других JVM (6 управляемых серверах). Существует одна JVM с 2 управляемых серверов, которые одновременно давая эту ошибку:Ошибка конфигурации Weblogic - писатель тела сообщения для класса Java, класс типа Java и приложение типа мультимедиа MIME/json не найдено

####<Oct 31, 2014 3:58:43 PM EDT> <Notice> <StdErr> <physaddress> <managedServer> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1414 
785523072> <BEA-000000> <Oct 31, 2014 3:58:43 PM com.sun.jersey.spi.container.ContainerResponse write 
SEVERE: The registered message body writers compatible with the MIME media type are: 
*/* -> 
    com.sun.jersey.core.impl.provider.entity.FormProvider 
    com.sun.jersey.core.impl.provider.entity.MimeMultipartProvider 
    com.sun.jersey.core.impl.provider.entity.StringProvider 
    com.sun.jersey.core.impl.provider.entity.ByteArrayProvider 
    com.sun.jersey.core.impl.provider.entity.FileProvider 
    com.sun.jersey.core.impl.provider.entity.InputStreamProvider 
    com.sun.jersey.core.impl.provider.entity.DataSourceProvider 
    com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$General 
    com.sun.jersey.core.impl.provider.entity.ReaderProvider 
    com.sun.jersey.core.impl.provider.entity.DocumentProvider 
    com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider 
    com.sun.jersey.core.impl.provider.entity.SourceProvider$SourceWriter 
    com.sun.jersey.server.impl.template.ViewableMessageBodyWriter 
    com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$General 
    com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$General> 
####<Oct 31, 2014 3:58:43 PM EDT> <Notice> <StdErr> <physaddress> <managedServer> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1414785523072> <BEA-000000> <Oct 31, 2014 3:58:43 PM com.sun.jersey.spi.container.ContainerResponse logException 
SEVERE: Mapped exception to response: 500 (Internal Server Error) 
javax.ws.rs.WebApplicationException: com.sun.jersey.api.MessageException: A message body writer for Java class xVO, and Java type class xVO, and MIME media type application/json was not found 
     at com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:285) 
     at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1479) 
     at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391) 
     at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381) 
     at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416) 
     at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538) 
     at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) 
     at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) 
     at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) 
     at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301) 
     at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:184) 
     at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3741) 
     at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3705) 
     at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 
     at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) 
     at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2282) 
     at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2181) 
     at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1491) 
     at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) 
     at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) 
Caused by: com.sun.jersey.api.MessageException: A message body writer for Java class xVO, and Java type class xVO, and MIME media type application/json was not found 
     ... 21 more> 

Я не уверен, что другая информация может быть полезной. Сервер работал нормально. Мысль заключается в том, что произошла какая-то конфигурация, которая отбросила все, но я не уверен, что это было. Опять же, приложение работает нормально на 3 других экземплярах weblogic. Этот конкретный пример не работает, и мы не уверены, почему.

Любая помощь будет оценена по достоинству. Я был бы рад предоставить дополнительную информацию по запросу. Спасибо!

+0

Можете ли вы выполнить разницу между параметрами серверов, которые работают, и теми, которые этого не делают? Являются ли два управляемых сервера новыми или они всегда были там? –

+0

Они всегда были там. На какие параметры вы ссылаетесь. Я проверил различные управляемые серверы в консоли администратора, и они, похоже, настроены там же. Я также проверил каталог модулей для Weblogic на обоих серверах, и они идентичны. Сначала я подумал, что может быть, что новая версия одной из банок там отсутствует, так как мы добавили несколько. Мысли? – Shino

+0

Я видел это раньше, поэтому я подумал, что это может быть так. Если вы используете параметры запуска, и они разные, это может быть основной причиной. Различные версии WAR-файлов также могут вызывать это. Также проверьте commonEnv.sh и SetDomain.sh и убедитесь, что они одинаковы. –

ответ

1

Weblogic на очень редких экземплярах сохраняет старый развернутый файл (конечно, он также зависит от способа развертывания файла) в промежуточном каталоге. Как правило, если есть привязки, относящиеся к одному серверу weblogic, а не к другому, остановите управляемые серверы, удалите tmp, stage или просто переместите его в новый каталог и перезапустите управляемый сервер, чтобы управляемый сервер вытащил последний файл и разархивировал его (этап держит архив войны/уха, а tmp имеет распакованную версию). Это чаще всего устраняет проблему.