2016-11-15 14 views
0

のメッセージボディライターが見つかりませんでした。jboss 7にアップグレードした後、安心して利用できるサービスがjboss 6でうまくいきました。応答クラスArrayList [jboss 7]

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.** 

アプリケーションは次の依存関係を持っている:私たちが遭遇した

例外は、HTTP 500内部サーバーエラーです。

<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にはcxfライブラリと競合している簡単なAPIが残ります。

私はresteasyを除外するためにウェブ上で利用可能な多くのオプションを試しましたが、それは助けませんでした。

jboss組み込みライブラリを除外するにはどうすれば簡単に残りのコンポーネントをjbossにアプリケーションライブラリの使用を強制するのですか?

答えて

0

jboss 7でjaxrsサブシステム全体を除外すると、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>