我正在尝试在安装在 *nix 操作系统上的 WAS 8.5 服务器上部署 JAX-WS Web 服务。我收到以下错误:
[3/1/13 15:31:19:687 CET] 000003c0 WSServerMetad E WSWS7055E: The WEB-INF/wsdl/KeyPushTargetService.wsdl Web Services Description Language (WSDL) file specified by annotations in class com.cryptomathic.ckms.KeyPushTargetServiceSoapImpl cannot be loaded correctly due to the following error: java.lang.RuntimeException: WSWS7035E: The http://www.w3.org/2001/XMLSchema.dtd metadata file could not be found.
[3/1/13 15:31:19:698 CET] 000003c0 WSModuleDescr E WSWS7011E: The configuration for the CKTC_MQ_WEB.war application module cannot load correctly.
The following error occurred: com.ibm.ws.websvcs.exception.DeploymentException: java.lang.RuntimeException: WSWS7035E: The http://www.w3.org/2001/XMLSchema.dtd metadata file could not be found.
at com.ibm.ws.websvcs.deployment.WSServerMetadataMerger.attachWSDLDefinition(WSServerMetadataMerger.java:1852)
at com.ibm.ws.websvcs.deployment.WSServerMetadataMerger.associateWSDLDefinitions(WSServerMetadataMerger.java:1688)
at com.ibm.ws.websvcs.deployment.WSServerMetadataMerger.mergeMetadata(WSServerMetadataMerger.java:746)
at com.ibm.ws.websvcs.desc.WSModuleDescriptorImpl.initDBCMap(WSModuleDescriptorImpl.java:2058)
at com.ibm.ws.websvcs.desc.WSModuleDescriptorImpl.buildJAXWSServices(WSModuleDescriptorImpl.java:1303)
at com.ibm.ws.websvcs.desc.WSModuleDescriptorImpl._containsJAXWSWebServices(WSModuleDescriptorImpl.java:481)
at com.ibm.ws.websvcs.desc.WSModuleDescriptorImpl.containsJAXWSWebServices(WSModuleDescriptorImpl.java:456)
at com.ibm.ws.webservices.admin.utils.ServiceContainmentHelper.<init>(ServiceContainmentHelper.java:71)
at com.ibm.ws.webservices.admin.utils.CommonUtils.getServiceContianmentHelper(CommonUtils.java:690)
at com.ibm.ws.webservices.admin.utils.CommonUtils.hasWebServices(CommonUtils.java:295)
at com.ibm.ws.webservices.admin.utils.CommonUtils.hasJAXWSWebServices(CommonUtils.java:238)
at com.ibm.ws.webservices.admin.deploy.DeploymentValidation.getWebServiceType(DeploymentValidation.java:309)
at com.ibm.ws.webservices.admin.deploy.DeploymentValidation.validateEarModules(DeploymentValidation.java:381)
at com.ibm.ws.webservices.admin.deploy.DeploymentValidation.validateOperation_Required(DeploymentValidation.java:204)
at com.ibm.ws.management.application.task.ValidateAppTask.performTask(ValidateAppTask.java:392)
at com.ibm.ws.management.application.SchedulerImpl.run(SchedulerImpl.java:315)
at java.lang.Thread.run(Thread.java:772)
Caused by: java.lang.RuntimeException: WSWS7035E: The http://www.w3.org/2001/XMLSchema.dtd metadata file could not be found.
at com.ibm.ws.websvcs.wsdl.BaseWSDLLocator.getImportInputSource(BaseWSDLLocator.java:251)
at com.ibm.wsdl.xml.EntityResolverAdapter.resolveEntity(EntityResolverAdapter.java:40)
at org.apache.xerces.util.EntityResolverWrapper.resolveEntity(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager.resolveEntity(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(WSDLReaderImpl.java:2245)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(WSDLReaderImpl.java:869)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(WSDLReaderImpl.java:903)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(WSDLReaderImpl.java:691)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseTypes(WSDLReaderImpl.java:647)
at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(WSDLReaderImpl.java:353)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2409)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2373)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2426)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2447)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2481)
at com.ibm.ws.websvcs.deployment.WSServerMetadataMerger.attachWSDLDefinition(WSServerMetadataMerger.java:1818)
WAS 是否真的试图下载 DTD frow W3C 服务器但未能做到这一点?我无法直接访问服务器机器,所以我无法直接验证它(但我可以问)。我们在 Windows 系统上的 WAS 7.0 和 WAS 8.5 上成功地部署了相同的 JAX-WS Web 服务(并且我们确信 WAS 在部署在 Windows 服务器上时不会尝试从 Internet 下载任何 DTD)。
任何想法?
谢谢,乔瓦尼