如何导入一个";“无命名空间”;XML模式转换成WSDL?

如何导入一个";“无命名空间”;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模式(称为DataQualityCalculationTasks.xsd),它没有声明目标命名空间。我在WSDL文件中导入了此XML模式,如下所示:

<?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。”这个警告是什么意思?有没有办法消除这个警告?