如何导入一个";“无命名空间”;XML模式转换成WSDL?
我有一个XML模式(称为DataQualityCalculationTasks.xsd),它没有声明目标命名空间。我在WSDL文件中导入了此XML模式,如下所示:如何导入一个";“无命名空间”;XML模式转换成WSDL?,xml,web-services,xsd,wsdl,xerces,Xml,Web Services,Xsd,Wsdl,Xerces,我有一个XML模式(称为DataQualityCalculationTasks.xsd),它没有声明目标命名空间。我在WSDL文件中导入了此XML模式,如下所示: <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://example.com/myNamespace" name="DataQualityServiceService" xmlns:soap="http
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
targetNamespace="http://example.com/myNamespace"
name="DataQualityServiceService"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<xsd:import schemaLocation="DataQualityCalculationTasks.xsd"/>
</wsdl:types>
..................................................................
</wsdl:definitions>
..................................................................
但是,我在eclipse中遇到以下错误:
src import.1.2:如果元素信息项上不存在namespace属性,则封闭模式必须具有targetNamespace。错误来自XML解析器ApacheXerces
有人知道这个问题的解决方案吗
谢谢大家! 您可以按以下方式进行:
<wsdl:types>
<xsd:schema targetNamespace="urn:tempuri-org">
<xsd:import schemaLocation="DataQualityCalculationTasks.xsd"/>
</xsd:schema>
</wsdl:types>
谢谢您的回复。我试过了,但我有两个错误。第一个错误声明“src import.3.1:元素信息项的命名空间属性“”必须与导入文档的targetNamespace属性“null”相同。”第二个错误是在我的WSDL文件中,我尝试使用在导入的模式中定义的元素,如下所示:确保xsd:import中没有名称空间属性(请参阅文章)。。。你能确认一下吗?如果没有,则将xsd:import更改为xsd:include,并从xsd:schema中删除targetNamespace=“urn…”。两者都是有效的…我的WSDL文件现在看起来像@Peter,删除namespace=”“属性(参见文章)。这就是问题的原因。我试图导入的XSD根本没有名称空间属性。因此,我尝试了第二种解决方案(xsd:include并删除了targetNamespace=“urn…”)。错误消失了,现在我有一个警告(更好):“WS-I:(BP2107)wsdl:types元素中包含的xsd:schema元素没有有效且非空值的targetNamespace属性,而子元素不是xsd:import或xsd:annotation。”这个警告是什么意思?有没有办法消除这个警告?