解決調用WebService短信接口后報Provider com.sun.xml.stream.ZephyrParserFactory not found


Exception in thread "main" javax.xml.stream.FactoryFinder$ConfigurationError: Provider com.sun.xml.stream.ZephyrParserFactory not found
    at javax.xml.stream.FactoryFinder.newInstance(FactoryFinder.java:152)
    at javax.xml.stream.FactoryFinder.findJarServiceProvider(FactoryFinder.java:328)
    at javax.xml.stream.FactoryFinder.find(FactoryFinder.java:253)
    at javax.xml.stream.FactoryFinder.find(FactoryFinder.java:177)
    at javax.xml.stream.XMLInputFactory.newInstance(XMLInputFactory.java:153)
    at com.sun.xml.ws.api.streaming.XMLStreamReaderFactory.getXMLInputFactory(XMLStreamReaderFactory.java:109)
    at com.sun.xml.ws.api.streaming.XMLStreamReaderFactory.<clinit>(XMLStreamReaderFactory.java:78)
    at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.createReader(RuntimeWSDLParser.java:805)
    at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.resolveWSDL(RuntimeWSDLParser.java:262)
    at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:129)
    at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:265)
    at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:228)
    at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:176)
    at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:104)
    at javax.xml.ws.Service.<init>(Service.java:77)
    at com.szboanda.common.wsdl.business.INFXQDJWS.<init>(INFXQDJWS.java:42)
    at com.szboanda.common.wsdl.business.TestResult.main(TestResult.java:40)
Caused by: java.lang.ClassNotFoundException: com.sun.xml.stream.ZephyrParserFactory
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at javax.xml.stream.FactoryFinder.getProviderClass(FactoryFinder.java:112)
    at javax.xml.stream.FactoryFinder.newInstance(FactoryFinder.java:143)
    ... 16 more

原因:

網上找了一下原因,有些說是和帆軟報表的fr-third-8.0.jar沖突,嘗試了下去掉fr-third-8.0.jar后,確認不再報錯,調用成功,但是這個fr-third-8.0.jar是帆軟報表必須要用的jar。看到另外一解答是:估計你的問題不是包沖突, 而是你的webservice所需的包根本沒有放到lib目錄中,找一個包含有com.sun.xml.stream.ZephyrParserFactory 的包試試, 比如這個sjsxp.jar或 sjsxp-1.0.1.jar 或sjsxp-ri.jar。於是網上下載了sjsxp-1.0.1.jar,導入之后果然沒有報錯,正常調用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM