2016-11-15 10 views
0

Наше приложение с остальными услугами отлично работает на jboss 6 после обновления до jboss 7, ни одна из остальных служб не работает.Для класса ответов ArrayList [jboss 7] не найдено ни одного органа тела сообщений

Исключения мы столкнулись в HTTP 500 Внутренняя ошибка сервера:

One of the restful service error is: 
    INFO - HTTP Status Code: 500 
    INFO - Web Service call execution: 1410 ms. 
    INFO - Content-Length: null 
    INFO - Content-Type: text/plain 
    INFO - Message-Body: **No message body writer has been found for response class ArrayList.** 

приложения имеет следующую зависимость.

<dependency> 
      <groupId>org.apache.cxf</groupId> 
      <artifactId>cxf-bundle-jaxrs</artifactId> 
      <version>2.7.8</version> 
      <exclusions> 
       <exclusion> 
        <groupId>com.sun.xml.bind</groupId> 
        <artifactId>jaxb-impl</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>javax.ws.rs</groupId> 
        <artifactId>javax.ws.rs-api</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
    <dependency> 
      <groupId>javax.ws.rs</groupId> 
      <artifactId>javax.ws.rs-api</artifactId> 
      <version>2.0</version> 
     </dependency> 

После анализа я обнаружил, что в jboss есть простой api, который противоречит библиотекам cxf.

Я попробовал множество опций, доступных в Интернете, чтобы исключить передышку, но это не помогло.

Как исключить библиотеки jboss, встроенные в библиотеки, легко и дружественно, чтобы заставить jboss использовать библиотеки приложений?

ответ

0

Я нашел исключение подсистемы jaxrs в целом в jboss 7, помог мне заставить jboss полагаться на мое приложение, предоставленное cxf и javax.ws.rs-api.

Я добавил файл jboss-deployment-structure.xml, указанный ниже, в файл war, чтобы исключить подсистему jaxrs.

<?xml version="1.0" encoding="UTF-8"?> 
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2"> 
    <deployment> 
     <exclude-subsystems> 
      <subsystem name="jaxrs" /> 
     </exclude-subsystems> 
    </deployment> 
</jboss-deployment-structure>