2016-07-11 15 views
3

Ich versuche, diese SOAP-Endpunkt befindet sich hier hinzuzufügen: http://ds.hitpromo.net/product.NET SOAP-Client verwenden: Array

Jedoch bekomme ich folgende Fehlermeldung:

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.

Wie ich es verstehe, ist es, weil von .NET SOAP-Generierungscode versteht nicht die Typen von xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" Ich habe gelesen, über manuell einschließlich es aber die Richtungen sind unklar (einschließlich andere StackOverflow Antworten zu diesem Thema), das Herunterladen der WSDL und Import/Include hat nicht funktioniert.

Irgendwelche Ideen?

Antwort

1

Ich habe versucht, die angegebene Adresse http://ds.hitpromo.net/product und erfolgreich als Service-Referenz auf ein Projekt ohne Probleme hinzugefügt.

Vielleicht könnte es helfen, wenn Sie es als Web-Referenz hinzufügen. Können Sie "Service-Referenz hinzufügen" versuchen => Wählen Sie "Erweitert" => Wählen Sie dann "Web-Referenz hinzufügen" und fügen Sie es von dort hinzu.

In der Vergangenheit hat das Hinzufügen des Endpunkts als Webreferenz einige ähnliche Probleme für mich gelöst.

+0

Hmm, die nicht für .NET-Core AFAIK nicht funktioniert, werde ich eine Lösung für das finden müssen . – StrangeWill

1

Ein paar Dinge, die Sie könnten versuchen:

1.) Erstellen Sie eine lokale Kopie der WSDL-Datei, und entfernen Sie den problematischen XML-Namespace. Wenn Sie den Service-Referenzpunkt hinzufügen, weisen Sie ihn auf Ihre lokale Kopie hin.

2.) Versuchen Sie, den Dienst als Web-Referenz statt als Service-Referenz zu verwenden. Service-Referenz hinzufügen => Erweitert => Web-Referenz hinzufügen.

3.) Sie müssen möglicherweise zu .Net 4.x zurückkehren, da die .NET Core-Unterstützung für SOAP-Dienste möglicherweise nicht ausgereift genug ist, um ältere WSDLs zu verarbeiten.

hatte ich eine Situation, die etwas ähnlich mit .Net 4.5 und WCF war - hier ein Link lautet: How can I create custom XML namespace attributes when consuming a legacy SOAP service?