2013-10-23 112 views
0

試圖與基於PHP SOAP的Web服務集成。客戶端給了我一個WSDL文件的URL,它似乎確認了W3C Standard for WSDL無法將WSDL導入Visual Studio 2012

我正在使用添加Web引用選項高級對話框添加引用。當我添加URL時,對話框中的Web瀏覽器將在WSDL規範中顯示兩種方法,但在右側的狀態區域中會顯示一條錯誤消息,並且禁用按鈕。

enter image description here

錯誤消息:

The document at the url http://www.NAMEHERE.com/NAME/xml/test.php?wsdl was not 
recognized as a known document type. 
The error message from each known type may help you fix the problem: 
- Report from 'XML Schema' is 'The root element of a W3C XML Schema should be <schema> and its nam 

如果我通過網上WSDL驗證運行WSDL,它似乎是正確的,就像我說的,它似乎符合標準。

此外,我試過使用WSDL.EXE命令行,並嘗試SOAP,SOAP12,HTTPGET和HTTPPOST協議,每次得到相同的錯誤消息。

WSDL這裏摘錄:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:tns="http://www.NAMEHERE.com/NAME/xml/namespace" 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
xmlns="http://schemas.xmlsoap.org/wsdl/" 
targetNamespace="http://www.NAMEHERE.com/NAME/xml/namespace"> 
<types> 
<xsd:schema targetNamespace="http://www.NAMEHERE.com/NAME/xml/namespace"> 
<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> 
<xsd:import namespace="http://schemas.xmlsoap.org/wsdl/"/> 
<xsd:complexType name="AddressWO"> 

.... 

的cilent說,他們還沒有遇到此問題與任何其他的合作伙伴,誰都是能成功整合。雖然,他們是PHP到PHP。

我搜索過,因此無法找到相同的問題陳述(或任何合適的答案)。

任何想法?

回答

0

在此花費了相當長的時間之後,事實證明WSDL並不完美。我們的業務合作伙伴需要在Visual Studio導入之前對WSDL進行一些小修改。

問題在於他們在元素上有一個minOccurs屬性,該屬性在該場景中無效。

這裏需要注意的是,幾個在線驗證器都說WSDL是有效的,我們嘗試的PHP客戶端也是如此。

然後,我們內使用WLIMPORT程序JDK 1.6 +,這給了在WSDL錯誤的非常詳細的清單,指着這個問題的確切原因。

因此,我們的業務合作伙伴在其最後更正了規範,現在Visual Studio成功導入了WSDL。

希望這會有所幫助。

相關問題