2014-01-16 59 views
1

我有一個XML模式(稱爲DataQualityCalculationTasks.xsd),沒有聲明目標名稱空間http://www.w3.org/TR/xmlschema-0/#UndeclaredTNS。我進口的我的WSDL文件這樣此XML模式:如何將「無命名空間」XML模式導入WSDL?

<?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> 

但是,我得到了日食以下錯誤:

SRC-import.1.2:如果命名空間屬性不存在上元素信息項,那麼封閉架構必須有一個targetNamespace。錯誤來自XML解析器Apache Xerces。

有沒有人知道這個解決方案?

謝謝!

回答

2

,你可以到如下做到這一點:

<wsdl:types> 
    <xsd:schema targetNamespace="urn:tempuri-org"> 
     <xsd:import schemaLocation="DataQualityCalculationTasks.xsd"/> 
    </xsd:schema> 
</wsdl:types> 
+0

謝謝您的答覆。我已經嘗試過,但我得到兩個錯誤。第一個錯誤狀態爲「src-import.3.1:元素信息項的名稱空間屬性」'必須與導入文檔的targetNamespace屬性'null'相同。「第二個錯誤是在我的WSDL文件中,我嘗試使用導入架構中定義的元素,如 Peter

+0

請確保xsd:import中沒有命名空間屬性(請參閱帖子)...您能否確認它?如果您沒有它,請將xsd:import更改爲xsd:include,並從xsd:schema中刪除targetNamespace =「urn ...」。兩者都是有效的... –

+0

我的WSDL文件現在看起來像這樣 \t \t \t – Peter