簡體   English   中英

為什么我不能在Visual Studio中從此WSDL文件生成客戶端代碼?

[英]Why can't I generate client code from this WSDL file in Visual Studio?

我正在嘗試為cleverreach API編寫.NET客戶端代碼(WSDL文件: http ://api.cleverreach.com/soap/interface_v4.php?wsdl, http ://api.cleverreach.com/soap/上的文檔Visual Studio 2010中的interface_v4.php )。

問題在於,無論我做什么,似乎都沒有辦法為這個API創建C#代碼。

我嘗試過兩種方式 - 添加服務引用和Web引用。 在這兩種方式中,都沒有為API的方法生成代碼(類似於createList或addBatch)。

我也試過使用命令行代替:

svcutil.exe / language:cs /out:GeneratedProxy.cs /config:app.config http://api.cleverreach.com/soap/interface_v4.php?wsdl

這只是給我一個錯誤信息:

生成文件...警告:未生成任何代碼。 如果您嘗試生成客戶端,這可能是因為元數據文檔不包含任何有效的合同或服務,或者因為發現所有合同/服務都存在於/ reference assemblies中。 驗證是否已將所有元數據文檔傳遞給該工具。

當我在Web瀏覽器中查看WSDL文件時,會提到我正在尋找的方法(例如createList)。 所以我不確定發生了什么。

我想知道的是什么:

  • 為什么Visual Studio不能為此Web服務創建客戶端代碼?
  • 我該如何解決這個問題?

謝謝,

阿德里安

最有可能的原因是,您沒有獲得任何代碼是因為WSDL無效。 只需在XMLSpy中打開它就可以講述:

Invalid XML schema: 'Attribute 'firstname' is not allowed in element <xsd:element>'

那就是

<xsd:element name="firstname" type="xsd:string" firstname="registered"/>

您可能希望與供應商聯系並詢問他們的想法。

這有點舊,但是如果它可以幫助任何人,我能夠使用wsdl.exe工具,如在Visual Studio中從WSDL文件創建Web服務代理中所述

C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC>wsdl http://api.cleverreach.com/soap/interface_v5.1.php?wsdl

當然,wsdl似乎有錯誤並沒有幫助。

這是我的第一個堆棧溢出答案,所以如果不符合通常的標准我會道歉。

我使用visual studio測試了該服務,我創建了一個新的Project(.Net Application),在這個URL“http://api.cleverreach.com/soap/interface_v4.php?wsdl”添加了該服務。 請注意,您將需要查詢字符串'?wdsl'),通過添加網絡參考,我可能在您的帖子中誤解了您的網址,但看起來您要刪除它。

我驗證了WSDL文件。 我在VS 2008中測試過,並將在2010年再次測試。

希望能幫助到你 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM