WSDLServiceFactory

發布 Apache 2180

最近需要配合其他系統做接口,開始使用cxf的webservices,


         JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); 


         org.apache.cxf.endpoint.Client client = dcf.createClient("http://10.212.165.212:8081/epointshwebservice/services/EpointWithZiCaiWebService?wsdl");


    


    之前是可以正常調用的,但是我在調用另外的接口時,用myeclipse的webservices Client創建了客戶端,


    回過頭來看,就發現原來可以調用的cxf接口不斷的報錯。


    就是在創建client時,尤其是這個Cannot create a secure XMLInputFactory,讓人無比頭大,


    


    org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.


     at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:86)


     at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:295)


     at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:240)


     at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:233)


     at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:188)


     at org.cxf.aa.invokeBR_TKtzWebService(aa.java:54)


     at org.cxf.aa.main(aa.java:12)


    Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: java.lang.RuntimeException: Cannot create a secure XMLInputFactory


     at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:264)


     at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:206)


     at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:84)


     ... 6 more


    Caused by: java.lang.RuntimeException: Cannot create a secure XMLInputFactory


     at org.apache.cxf.staxutils.StaxUtils.createXMLInputFactory(StaxUtils.java:315)


     at org.apache.cxf.staxutils.StaxUtils.getXMLInputFactory(StaxUtils.java:265)


     at org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils.java:1774)


     at org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils.java:1673)


     at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:254)


     ... 8 more


    


    WSDLServiceFactory


    


    


    


    然后我從網上不斷搜索了一天多,


    主要說的問題就是缺少jar包或者jar包沖突,


    感謝提供cxf所需所有jar包 :http://blog.sina.com.cn/s/blog_ae48aad60101ck4e.html


    感謝該帖30樓提供的jar包沖突思路。http://bbs.csdn.net/topics/390491260


    


    我又按照網上所說全部操作了一遍,發現并不缺少jar包,然后把可能沖突的包刪掉,依然無果,


    


    又在網上無限搜索和操作后,


    我感覺到我遇見了一個大多數人都沒有遇見的問題,


    只好另辟蹊徑,新建一個工程后,導入所有cxf需要的jar包,調用接口,是可以調通的,


    


    WSDLServiceFactory


    


    采取終極方案,排查原有項目的jar包,全部刪除,只留下cxf相關的包,依然無果。接著開始刪除系統liberty,


    最后終于發現,刪除  之后,可以調用成功了,罪魁禍首就在這里。


    


    WSDLServiceFactory


    


    WSDLServiceFactory


    


    


    


    這是在用myeclipse自動生成客戶端時產生的,郁悶,還是用soapui生成cxf的客戶端吧。


    


    WSDLServiceFactory


    


    


    


    


    


    


    

    


    

    


    

    

    


    

    

    


    

    


    


    


        


  •     

        


  •     


  •     

        


  •     


  •     

        


  •     


    


     黑龙江36选7结果查询