2017-03-01 16 views
5

XML 데이터의 입력 스트림을 언 마샬하려고하는 중에이 예외가 발생합니다. 이것은 분명히 Xerces 라이브러리의 문제이지만,이 문제에 대한 해결책을 찾는 데 어려움을 겪고 있습니다. Java 8이있는 Glassfish Server에서 EclipseLink로 Java EE 프로그램을 실행하고 있습니다.이 오류는 XML 입력 스트림을 매개 변수로 사용하는 REST 서비스에서 발생합니다. 내가 오류입니다 : 내가 사용하고있어 Xerces에 라이브러리를 업그레이드하고 메이븐 잡고 있도록 상부 가장 종속 될 가지고 제안 여기에 게시 다른 질문을 본 적이XML 입력 스트림을 비 정렬 화하는 중 SAXNotRecognizedException

Caused by: java.lang.IllegalStateException: org.xml.sax.SAXNotRecognizedException: unrecognized feature http://javax.xml.XMLConstants/feature/secure-processing 
at com.sun.xml.bind.v2.util.XmlFactory.createParserFactory(XmlFactory.java:135) 
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getXMLReader(UnmarshallerImpl.java:154) 
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:172) 
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:219) 

대신 다른 라이브러리 중 하나 , 그러나 그것은 아직 나를 위해 일하지 않았다.

<dependencies> 
    <dependency> 
     <groupId>xerces</groupId> 
     <artifactId>xercesImpl</artifactId> 
     <version>2.11.0</version> 
    </dependency> 
    <dependency> 
     <groupId>javax</groupId> 
     <artifactId>javaee-api</artifactId> 
     <version>7.0</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish.jersey.containers</groupId> 
     <artifactId>jersey-container-servlet</artifactId> 
     <version>2.22.2</version> 
     <scope>provided</scope> 
     <exclusions> 
      <exclusion> 
       <groupId>xerces</groupId> 
       <artifactId>xercesImpl</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>xerces</groupId> 
       <artifactId>xerces</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-validator</artifactId> 
     <version>4.0.2.GA</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.primefaces</groupId> 
     <artifactId>primefaces</artifactId> 
     <version>6.0</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-io</groupId> 
     <artifactId>commons-io</artifactId> 
     <version>2.4</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-fileupload</groupId> 
     <artifactId>commons-fileupload</artifactId> 
     <version>1.3.1</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-codec</groupId> 
     <artifactId>commons-codec</artifactId> 
     <version>1.10</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-lang</groupId> 
     <artifactId>commons-lang</artifactId> 
     <version>2.6</version> 
    </dependency> 
    <dependency> 
     <groupId>org.dom4j</groupId> 
     <artifactId>dom4j</artifactId> 
     <version>2.0.0-RC1</version> 
    </dependency> 
    <dependency> 
     <groupId>com.google.guava</groupId> 
     <artifactId>guava</artifactId> 
     <version>19.0</version> 
    </dependency> 
    <dependency> 
     <groupId>joda-time</groupId> 
     <artifactId>joda-time</artifactId> 
     <version>2.9.2</version> 
    </dependency>  
    <dependency> 
     <groupId>org.apache.poi</groupId> 
     <artifactId>poi-ooxml</artifactId> 
     <version>3.14</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.xmlbeans</groupId> 
     <artifactId>xmlbeans</artifactId> 
     <version>2.6.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.commons</groupId> 
     <artifactId>commons-csv</artifactId> 
     <version>1.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.eclipse.persistence</groupId> 
     <artifactId>org.eclipse.persistence.core</artifactId> 
     <version>2.5.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <version>3.0.6.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-beans</artifactId> 
     <version>3.0.6.RELEASE</version> 
    </dependency>  
    <dependency> 
     <groupId>org.passay</groupId> 
     <artifactId>passay</artifactId> 
     <version>1.2.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.openejb</groupId> 
     <artifactId>openejb-api</artifactId> 
     <version>4.7.4</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.mockito</groupId> 
     <artifactId>mockito-core</artifactId> 
     <version>1.10.19</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>main.java.com.exavault</groupId> 
     <artifactId>evapi</artifactId> 
     <version>1.0.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish.jersey.security</groupId> 
     <artifactId>oauth1-client</artifactId> 
     <version>2.25</version> 
    </dependency> 
    <dependency> 
     <groupId>com.force.api</groupId> 
     <artifactId>force-wsc</artifactId> 
     <version>39.0.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.mindrot</groupId> 
     <artifactId>jbcrypt</artifactId> 
     <version>0.3m</version> 
    </dependency> 
</dependencies> 

내가 그 생각할 수있는 유일한 것은 여전히 ​​문제를 일으키는 뭔가가 여전히 Xerces에 라이브러리를 사용하고 있다는 것입니다,하지만 난있는 종속에서 아무것도 찾을 수 없습니다 : 내 POM 파일의 관련 부분입니다 그것을 사용합니다. 또한 xercesImpl 2.11.0을 사용하기 전에 원래 xercesImpl 버전 2.0.2 및 xerces 2.0.2를 사용하고 있었지만이 오류를 제거하는 데는 도움이되지 못했습니다.

+0

'MVN 종속성을 사용 : 나무 -Dverbose -Dincludes = xercesImpl' 나는 의존성에 xercesImpl을 확인할 수 없습니다를, 그것이 당신의 글래스 피시 서버에서 오는가? – approxiblue

+0

xerces jar를 가리키는 출력에 아무것도 표시되지 않습니다. 나는 그것이 어딘가에 글래스 피시 도서관에서 오는 것 같아요,하지만 거기에 아무것도 보이지 않을거야. – gdawgrancid

답변