2016-07-11 78 views
3

我試圖加設在這裏這個SOAP端點:http://ds.hitpromo.net/product.NET SOAP客戶端使用:陣

不過,我得到以下錯誤:

Scaffolding Code ... Error:Error: Cannot import wsdl:portType Detail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.XmlSerializerMessageContractImporter Error: The datatype ' http://schemas.xmlsoap.org/soap/encoding/:Array ' is missing. XPath to Error Source: //wsdl:definitions[@targetNamespace='urn:ProductControllerwsdl']/wsdl:portType[@name='ProductControllerPortType'] Error: Cannot import wsdl:binding Detail: There was an error importing a wsdl:portType that the wsdl:binding is dependent on. XPath to wsdl:portType: //wsdl:definitions[@targetNamespace='urn:ProductControllerwsdl']/wsdl:portType[@name='ProductControllerPortType'] XPath to Error Source: //wsdl:definitions[@targetNamespace='urn:ProductControllerwsdl']/wsdl:binding[@name='ProductControllerBinding'] Error: Cannot import wsdl:port

Detail: There was an error importing a wsdl:binding that the wsdl:port is dependent on. XPath to wsdl:binding: //wsdl:definitions[@targetNamespace='urn:ProductControllerwsdl']/wsdl:binding[@name='ProductControllerBinding'] XPath to Error Source: //wsdl:definitions[@targetNamespace='urn:ProductControllerwsdl']/wsdl:service[@name='ProductControllerService']/wsdl:port[@name='ProductControllerPort'] Error: No endpoints compatible with .Net Core apps were found. An error occurred in the tool.

Failed to generate service reference.

據我瞭解,這是因爲.NET的SOAP生成代碼不理解爲包含xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/"的類型我已閱讀過關於手動包含它的內容,但方向不明(包括有關此主題的其他StackOverflow答案),下載WSDL並使用import/include不起作用。

任何想法?

回答

1

我嘗試了給定的地址http://ds.hitpromo.net/product併成功地將其作爲服務引用添加到項目中,沒有任何問題。

也許將其添加爲Web引用可能會對您有所幫助。你可以嘗試「添加服務參考」=>選擇「高級」=>然後選擇「添加Web參考」並從那裏添加它。

在過去,將端點添加爲Web參考解決了一些類似的問題。

+0

嗯,不用於.NET核心AFAIK工作,我必須找到一個解決辦法。 – StrangeWill

1

一對夫婦的事情,你可以嘗試:

1)創建WSDL的本地副本,並刪除有問題的XML命名空間。然後在將服務參考點添加到本地副本時。

2.)嘗試將服務作爲Web引用而不是服務引用。添加服務參考=>高級=>添加Web引用。

3.)您可能不得不返回到.Net 4.x,因爲對SOAP服務的.Net Core支持可能不夠成熟,無法處理遺留的WSDL。

我這是有點類似使用.NET 4.5和WCF的情況 - 這裏是一個鏈接:How can I create custom XML namespace attributes when consuming a legacy SOAP service?