2016-11-24 17 views
1

RESTEAsy WADL 생성기는 How to generate wadl file for resteasy in jboss을 참조하는 응용 프로그램에 포함되었습니다. JBoss EAP 6.4에서 성공적으로 배포가 완료되었습니다.RESTEasy wadl 생성기로 생성 된 널 포인트 인식

java.lang.NullPointerException 
org.jboss.resteasy.wadl.ResteasyWadlWriter.getStringWriter(ResteasyWadlWriter.java:36) 
org.jboss.resteasy.wadl.ResteasyWadlWriter.getBytes(ResteasyWadlWriter.java:26) 
org.jboss.resteasy.wadl.ResteasyWadlServletWriter.writeWadl(ResteasyWadlServletWriter.java:32) 
org.jboss.resteasy.wadl.ResteasyWadlServletWriter.writeWadl(ResteasyWadlServletWriter.java:45) 
org.jboss.resteasy.wadl.ResteasyWadlServlet.service(ResteasyWadlServlet.java:55) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:847) 

우리가 사용하는 web.xml 파일입니다 - -하지만 WADL 생성 URL http://host:8080/rest-serviceapp/application.xml 액세스에 대한, 그것은 다음과 같은 오류 생성하는

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
    http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 
    version="3.1"> 

<display-name>Restapp_Service</display-name> 

<context-param> 
    <param-name>resteasy.servlet.mapping.prefix</param-name> 
    <param-value>/resteasy</param-value> 
</context-param> 
<context-param> 
    <param-name>resteasy.scan</param-name> 
    <param-value>true</param-value> 
</context-param> 
<context-param> 
    <param-name>resteasy.scan.providers</param-name> 
    <param-value>true</param-value> 
</context-param> 
<context-param> 
    <param-name>resteasy.scan.resources</param-name> 
    <param-value>true</param-value> 
</context-param>  
<listener> 
    <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class> 
</listener> 

<servlet> 
    <servlet-name>Resteasy</servlet-name> 
    <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class> 
</servlet> 

<servlet> 
    <servlet-name>RESTEasy WADL</servlet-name> 
    <servlet-class>org.jboss.resteasy.wadl.ResteasyWadlServlet</servlet-class> 
</servlet> 

<servlet-mapping> 
    <servlet-name>Resteasy</servlet-name> 
    <url-pattern>/resteasy/*</url-pattern> 
</servlet-mapping> 

<servlet-mapping> 
    <servlet-name>RESTEasy WADL</servlet-name> 
    <url-pattern>/application.xml</url-pattern> 
</servlet-mapping> 

<welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
</welcome-file-list>  

을 RESTEasy가-WADL 의존성이다 -

<dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-wadl</artifactId> 
     <version>3.1.0</version> 
    </dependency> 

REST 서비스는 JSON을 comsumes/생성합니다. WADL/xml 생성이 nullpointer 예외로 끝나는 이유는 무엇입니까? 우리가하는 실수는 무엇일까요?

+0

문제를 해결 했습니까? –

답변

0

Wildfly 10.1.0에서도 동일한 문제가있었습니다.

resteasy-wadl 3.0.19를 사용하여 고정 시켰습니다. 다른 모든 resteasy 라이브러리는 Wildfly 10.1.0에서이 버전을 사용합니다. 당신이 아닌 다른 버전을 사용하는 경우,

<!-- https://mvnrepository.com/artifact/org.jboss.resteasy/resteasy-wadl --> 
    <dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-wadl</artifactId> 
     <version>3.0.19.Final</version> 
     <exclusions> 
      <exclusion> 
       <groupId>org.jboss.resteasy</groupId> 
       <artifactId>resteasy-jaxrs</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

또한 :

는 또한 문제의 원인, 그렇지 않으면 RESTEasy가-jaxrs 라이브러리 내 전쟁에 포함되었으며, 치어에 RESTEasy가-jaxrs 라이브러리를 제외했다 버전을 이미 JBoss에 설치 한 resteasy 라이브러리 (resteasy-jaxrs ...)는 resteasy-wadl 라이브러리의 종속성으로 두 번 설치됩니다. 이러한 중복 라이브러리는 많은 충돌을 일으키는 것 같습니다.