2014-11-21 38 views
0

我使用wsdl2java生成代碼,併成功創建Web服務客戶端以調用服務。 但是當我把我的程序放到服務器機器上時,程序不能創建web服務客戶機。如果機器可以訪問互聯網,一切都會好的。所以,我認爲這個異常是由於CXF不能訪問http://schemas.xmlsoap.org/soap/encoding/cxf在內部網中創建客戶端失敗

堆棧跟蹤:

14-11-20 18:51:20 create WSUtil err: [main-com.jadic.ws.WSUtil] 
javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service. 
    at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:151) ~[cxf-rt-frontend-jaxws-2.7.12.jar:2.7.12] 
    at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:101) ~[cxf-rt-frontend-jaxws-2.7.12.jar:2.7.12] 
    at javax.xml.ws.Service.<init>(Unknown Source) ~[na:1.6.0_05] 
    at com.jadic.ws.czsmk.CenterProcess.<init>(CenterProcess.java:43) ~[stserver-1.0.0.jar:na] 
    at com.jadic.ws.WSUtil.createServiceClient(WSUtil.java:106) [stserver-1.0.0.jar:na] 
    at com.jadic.ws.WSUtil.<init>(WSUtil.java:95) [stserver-1.0.0.jar:na] 
    at com.jadic.ws.WSUtil.getWsUtil(WSUtil.java:76) [stserver-1.0.0.jar:na] 
    at com.jadic.STServer.<init>(STServer.java:34) [stserver-1.0.0.jar:na] 
    at com.jadic.STServer.main(STServer.java:57) [stserver-1.0.0.jar:na] 
Caused by: org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service. 
    at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:100) ~[cxf-rt-core-2.7.12.jar:2.7.12] 
    at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:204) ~[cxf-rt-frontend-jaxws-2.7.12.jar:2.7.12] 
    at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:149) ~[cxf-rt-frontend-jaxws-2.7.12.jar:2.7.12] 
    ... 8 common frames omitted 
Caused by: javax.wsdl.WSDLException: WSDLException (at /definitions/types/schema): faultCode=PARSER_ERROR: Problem parsing 'http://schemas.xmlsoap.org/soap/encoding/'.: java.net.UnknownHostException: schemas.xmlsoap.org 
    at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(WSDLReaderImpl.java:2198) ~[wsdl4j-1.6.3.jar:1.6.3] 
    at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(WSDLReaderImpl.java:830) ~[wsdl4j-1.6.3.jar:1.6.3] 
    at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(WSDLReaderImpl.java:654) ~[wsdl4j-1.6.3.jar:1.6.3] 
    at com.ibm.wsdl.xml.WSDLReaderImpl.parseTypes(WSDLReaderImpl.java:610) ~[wsdl4j-1.6.3.jar:1.6.3] 
    at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(WSDLReaderImpl.java:320) ~[wsdl4j-1.6.3.jar:1.6.3] 
    at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2352) ~[wsdl4j-1.6.3.jar:1.6.3] 
    at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2338) ~[wsdl4j-1.6.3.jar:1.6.3] 
    at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:261) ~[cxf-rt-core-2.7.12.jar:2.7.12] 
    at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:206) ~[cxf-rt-core-2.7.12.jar:2.7.12] 
    at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:98) ~[cxf-rt-core-2.7.12.jar:2.7.12] 
    ... 10 common frames omitted 
Caused by: java.net.UnknownHostException: schemas.xmlsoap.org 
    at java.net.PlainSocketImpl.connect(Unknown Source) ~[na:1.6.0_05] 
    at java.net.Socket.connect(Unknown Source) ~[na:1.6.0_05] 
    at java.net.Socket.connect(Unknown Source) ~[na:1.6.0_05] 
    at sun.net.NetworkClient.doConnect(Unknown Source) ~[na:1.6.0_05] 
    at sun.net.www.http.HttpClient.openServer(Unknown Source) ~[na:1.6.0_05] 
    at sun.net.www.http.HttpClient.openServer(Unknown Source) ~[na:1.6.0_05] 
    at sun.net.www.http.HttpClient.<init>(Unknown Source) ~[na:1.6.0_05] 
    at sun.net.www.http.HttpClient.New(Unknown Source) ~[na:1.6.0_05] 
    at sun.net.www.http.HttpClient.New(Unknown Source) ~[na:1.6.0_05] 
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source) ~[na:1.6.0_05] 
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) ~[na:1.6.0_05] 
    at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source) ~[na:1.6.0_05] 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) ~[na:1.6.0_05] 
    at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source) ~[na:1.6.0_05] 
    at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(Unknown Source) ~[na:1.6.0_05] 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) ~[na:1.6.0_05] 
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) ~[na:1.6.0_05] 
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) ~[na:1.6.0_05] 
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source) ~[na:1.6.0_05] 
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source) ~[na:1.6.0_05] 
    at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(WSDLReaderImpl.java:2188) ~[wsdl4j-1.6.3.jar:1.6.3] 
    ... 19 common frames omitted 

所以你可以告訴你怎麼解決這個問題,感謝您的幫助

回答

0

刪除所有CXF相關罐子,工作。

因爲餘did't在我的代碼使用CXF庫,只需使用CXF工具來生成stub類

0

嘗試在classpath配置SAAJ(SAAJ-implement執行-1.3.2.jar)..