2016-06-02 13 views
0

Hallo alle,
Meine Anwendung basiert auf PTV xServer-Module und es wird zur Berechnung der besten Route und Reiseplan verwendet. Es ist eine Webanwendung und ich verwende Tomcat dafür. Also während ich meine Anwendung mit Tomcat läuft es funktioniert finden, aber wenn ich diese Anwendung mit "Haupt" -Methode ausgeführt habe, dann bekomme ich Fehler beim Aufruf von xServer Module Dienste/Methoden.
Kann keine sichere XMLInputFactory erstellen

com.ptvag.jabba.core.exception.UnexpectedException: Cannot create a secure XMLInputFactory 
    at com.ptvag.jabba.core.exception.ExceptionAnalyzer.mapExternalException(ExceptionAnalyzer.java:43) 
    at com.ptvag.xserver.xlocate.XLocateCXFClient.findLocation(Unknown Source) 
    at com.ilume.ptv.adapter.xmodule.XLocateAdapter.findLocations(XLocateAdapter.java:278) 
    at com.ilume.ptv.adapter.xmodule.XLocateAdapter.findLocations(XLocateAdapter.java:248) 
    at com.ilume.jti.logic.controller.models.rerouting.DepotsBO.isDepotValid(DepotsBO.java:182) 
    at com.ilume.jti.logic.controller.models.rerouting.DepotsBO.<init>(DepotsBO.java:96) 
    at com.ilume.jti.service.mapper.ReRouteMapper.mapJaxbJavaToBO(ReRouteMapper.java:155) 
    at com.ilume.jti.service.mapper.ReRouteMapper.mapJaxbJavaToBO(ReRouteMapper.java:134) 
    at com.ilume.jti.test.help.InputHelper.getCycleFromXMLResource(InputHelper.java:78) 
    at com.ilume.jti.test.controller.russia.RussiaReRoutingControllerTest.getCycle(RussiaReRoutingControllerTest.java:58) 
    at com.ilume.jti.test.controller.russia.RussiaReRoutingControllerTest.testTestReRouting(RussiaReRoutingControllerTest.java:46) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at junit.framework.TestCase.runTest(TestCase.java:164) 
    at junit.framework.TestCase.runBare(TestCase.java:130) 
    at junit.framework.TestResult$1.protect(TestResult.java:106) 
    at junit.framework.TestResult.runProtected(TestResult.java:124) 
    at junit.framework.TestResult.run(TestResult.java:109) 
    at junit.framework.TestCase.run(TestCase.java:120) 
    at junit.framework.TestSuite.runTest(TestSuite.java:230) 
    at junit.framework.TestSuite.run(TestSuite.java:225) 
    at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:131) 
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) 
Caused by: java.lang.RuntimeException: Cannot create a secure XMLInputFactory 
    at org.apache.cxf.staxutils.StaxUtils.createXMLInputFactory(StaxUtils.java:314) 
    at org.apache.cxf.staxutils.StaxUtils.getXMLInputFactory(StaxUtils.java:264) 
    at org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils.java:1516) 
    at org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils.java:1415) 
    at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:247) 
    at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:206) 
    at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:98) 
    at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:204) 
    at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:149) 
    at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:101) 
    at javax.xml.ws.Service.<init>(Service.java:77) 
    at com.ptvag.xserver.xlocate.jwsdp.XLocateWSService.<init>(Unknown Source) 
    at com.ptvag.xserver.xlocate.XLocateCXFClient.getWebService(Unknown Source) 

Antwort

0

Siehe CXF web service client: "Cannot create a secure XMLInputFactory"

Das Problem ist, dass der Anwendungsserver und lokale Classloader unterschiedliche Priorität zu XML-Bibliotheken

Lösung 1 gibt - Fügen Sie CXF XML-Bibliotheken (CXF2.7)

Add stax2-api and woodstox-core-asl jars from the 2.7.x CXF distribution 

Lösung 2 - Upgrade auf CXF 3 .0.0

Then woodstock is not needed 

Lösung 3 - Lassen Sie unsicher Parser Weniger sichere

add `-Dorg.apache.cxf.stax.allowInsecureParser=1` to the command line to execute your programa 
Verwandte Themen