2014-09-20 56 views
1

我試圖訪問使用C#.NET Framework和java客戶端應用程序編寫的SOAP Web服務。因此,在我的客戶端程序中,我添加了一個Web服務客戶端並提供了WSDL URL。當我點擊下一步時,我收到以下錯誤。試圖生成JAXWS時的SchemaFactoryConfigurationError

堆棧跟蹤

javax.xml.validation.SchemaFactoryConfigurationError: Provider for class javax.xml.validation.SchemaFactory cannot be created 
    at javax.xml.validation.SchemaFactoryFinder.findServiceProvider(SchemaFactoryFinder.java:414) 
    at javax.xml.validation.SchemaFactoryFinder._newFactory(SchemaFactoryFinder.java:218) 
    at javax.xml.validation.SchemaFactoryFinder.newFactory(SchemaFactoryFinder.java:145) 
    at javax.xml.validation.SchemaFactory.newInstance(SchemaFactory.java:213) 
    at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:234) 
    at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:94) 
    at com.sun.tools.ws.processor.modeler.wsdl.JAXBModelBuilder.bind(JAXBModelBuilder.java:142) 
    at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildJAXBModel(WSDLModeler.java:2244) 
    at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.internalBuildModel(WSDLModeler.java:191) 
    at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:137) 
    at com.sun.tools.ws.wscompile.WsimportTool.buildWsdlModel(WsimportTool.java:381) 
    at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:198) 
    at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:179) 
    at com.sun.tools.ws.ant.WsImport2.execute(WsImport2.java:835) 
    at com.sun.istack.tools.ProtectedTask.execute(ProtectedTask.java:103) 
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) 
    at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:483) 
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
    at org.apache.tools.ant.Task.perform(Task.java:348) 
    at org.apache.tools.ant.Target.execute(Target.java:435) 
    at org.apache.tools.ant.Target.performTasks(Target.java:456) 
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393) 
    at org.apache.tools.ant.Project.executeTarget(Project.java:1364) 
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 
    at org.apache.tools.ant.Project.executeTargets(Project.java:1248) 
    at org.apache.tools.ant.module.bridge.impl.BridgeImpl.run(BridgeImpl.java:286) 
    at org.apache.tools.ant.module.run.TargetExecutor.run(TargetExecutor.java:555) 
    at org.netbeans.core.execution.RunClassThread.run(RunClassThread.java:153) 
Caused by: java.util.ServiceConfigurationError: javax.xml.validation.SchemaFactory: jar:file:/C:/Program%20Files/Java/jdk1.8.0_05/lib/M%20yWebLib/xercesImpl.jar!/META-INF/services/javax.xml.validation.SchemaFactory:1: Illegal provider-class name: http\://www.w3.org/2001/XMLSchema=com.sun.org.apache.xerces.internal.jaxp.validation.xs.SchemaFactoryImpl 
    at java.util.ServiceLoader.fail(ServiceLoader.java:239) 
    at java.util.ServiceLoader.fail(ServiceLoader.java:245) 
    at java.util.ServiceLoader.parseLine(ServiceLoader.java:272) 
    at java.util.ServiceLoader.parse(ServiceLoader.java:307) 
    at java.util.ServiceLoader.access$200(ServiceLoader.java:185) 
    at java.util.ServiceLoader$LazyIterator.hasNextService(ServiceLoader.java:357) 
    at java.util.ServiceLoader$LazyIterator.access$600(ServiceLoader.java:323) 
    at java.util.ServiceLoader$LazyIterator$1.run(ServiceLoader.java:396) 
    at java.util.ServiceLoader$LazyIterator$1.run(ServiceLoader.java:395) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.util.ServiceLoader$LazyIterator.hasNext(ServiceLoader.java:398) 
    at java.util.ServiceLoader$1.hasNext(ServiceLoader.java:474) 
    at javax.xml.validation.SchemaFactoryFinder$2.run(SchemaFactoryFinder.java:403) 
    at javax.xml.validation.SchemaFactoryFinder$2.run(SchemaFactoryFinder.java:399) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.xml.validation.SchemaFactoryFinder.findServiceProvider(SchemaFactoryFinder.java:399) 
    ... 29 more 

如果你需要我的XML,我可以張貼這一點。 由於我對編程相當新穎,請給我一個詳細的答案。提前致謝。

回答

0

在默認包中添加java客戶端。因爲WSDL文件會創建一些新的包。因此,您必須將Web服務客戶端添加到默認包。