我有WAR,我正在部署到WildFly 10.0.0.CR5服务器。
打包WAR时,WEB-INF/wsdl/dir/dir/
下有一个WSDL,一些XSD文件和一个XMLSchema.dtd文件。其中一个名为xml.xsd
的XSD在文件顶部有以下内容:
<?xml version='1.0'?>
<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" >
<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
部署此WAR时,无法部署,但出现以下异常:
Failed to start service jboss.deployment.unit."MyWar.war".INSTALL:
org.jboss.msc.service.StartException in service jboss.deployment.unit."MyWar.war".INSTALL:
WFLYSRV0153: Failed to process phase INSTALL of deployment "MyWar.war"
Caused by: java.lang.RuntimeException: JBWS024076: Service
{http://my.co.com/2011}MyService, cannot publish wsdl to:
/jboss/wildfly-10.0.0.CR5/standalone/data/wsdl/MyWar.war/dir/wsdl/MyWsdl.wsdl
Caused by: java.io.FileNotFoundException:
/jboss/wildfly-10.0.0.CR5/XMLSchema.dtd (No such file or directory)
在/jboss/wildfly-10.0.0.CR5/standalone/data/wsdl/MyWar.war/dir/wsdl
下查看,我没有看到XMLSchema.dtd
文件,但它包含在我尝试在standalone/deployments
文件夹中部署的WAR中。
删除<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd" >
行解决了这个问题,但我正在寻找一个我无需这样做的解决方案。