SOAP-xml-client mithilfe von Visual Studio 2010 c# - wie?

Ich bin neu zu .NET-Welt, die noch zu verwenden VStudio C# 2010 (.NET 4.0) zu erzeugen, um ein client fordert Daten von einem web-service im SOAP-Xml-Mode. Ich habe gesucht, hier für die Antworten aber das verwirrt noch mehr. MSDN sagt, dass "Building XML Web Service-Clients" ist Vermächtnis .NET 4.0, d.h. die WSDL ist legacy. Verwenden Sie "WCF" statt, sagen Sie.
In der WCF-ich habe verloren - zu viel und zu vage. Es muss einfacher werden, dann...
Und alle Beispiele die ich im Netz finden konnte - Sie alle nutzen die WSDL, "das Vermächtnis".

Hier sind die Definitionen der service, den ich nutzen müssen, um die Daten aus der web-service:

Anfrage:

POST /catalog.asmx HTTP/1.1
Host: www.somewebsite.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "https://www.somewebsite.com/KeywordSearch"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <KeywordSearch xmlns="https://www.somewebsite.com/">
  <searchTerm>string</searchTerm>
  <resultsReturned>int</resultsReturned>
   </KeywordSearch>
  </soap:Body>
</soap:Envelope>

Antwort:

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    ...some stuff...
  </soap:Body>
</soap:Envelope>

Also, was ist die richtige, oder zumindest die meisten logischen Weise zu bauen dieses einfachen client? Welche Werkzeuge/Bibliotheken/Methoden würden Sie vorschlagen, um newbie (vorausgesetzt, VS 2010 C#, .NET 4.0-Umgebung)?

Zur info, was "Vermächtnis" ist die Schaffung ASMX web services und mit "Add Web Reference". Als marc_s schlägt vor, Sie sollten, verwenden Sie "Add Service Reference", das sollte gut funktionieren.

InformationsquelleAutor rita | 2010-12-22

Schreibe einen Kommentar