2009-07-30 5 views
1

Wir haben einen .NET 2 SOAP-Webdienst, der von einer anderen internen App unserer Organisation genutzt werden kann. Der Web-Service liefert eine .NET-Datensatz wie folgt:Erhalten Sie ein DataSet von SOAP als XML zurückgegeben?

public System.Data.DataSet GetStatementFor(string contractList, 
    System.DateTime startDate, System.DateTime endDate) 

nun in einem der Anwendungsfälle ist es notwendig, das Daten-Set-Objekts XML zu erhalten. Jetzt wird das DataSet natürlich auf jeden Fall über XML zurückgesendet, also habe ich mich gefragt, ob es möglich ist, einfach das XML zu verwenden, das es in SOAP darstellt. Normalerweise wird das XML in ein DataSet-Objekt eingebunden, das ich dann erneut serialisieren muss. Kann ich diese letzten beiden Schritte überspringen und trotzdem ein DataSet für die Fälle zurückgeben, in denen es Sinn macht?

Antwort

1

Nein, der WebService überträgt ein DataSet in der SOAP-Formatierung, die sich vom Format unterscheidet, das DataSet.WriteXml() verwendet.

+0

Ja, das verstehe ich. Aber ist es möglich, diese SOAP-Formatierung in die Hände zu bekommen? Es codiert immer noch die Metadaten und Daten des Datensatzes, also sollte es für ihre Zwecke tun. Wie ich es verstehe, planen sie im Wesentlichen, es durch eine XSL-Transformation zu drängen, um in das Format zu gelangen, das sie wollen. –

+0

Es aus der WebService-Kommunikation zu starten wäre chaotisch. Aber Sie können es nach dem Empfang durch einen SOAP-Formatierer laufen lassen. Ich würde allerdings zuerst überprüfen, was sie "wollen". –

+0

Ich denke, der Plan besteht darin, ihn in vorhandenen Code einzufügen, der eine XML-Zeichenfolge benötigt. Vielleicht sollte ich ihnen nur sagen, dass sie das tun sollen, was Sie sagen - DataSet.WriteXML() wird funktionieren, aber ich dachte, es wäre möglich, die Konvertierungen von und nach XML zu überspringen. –

1

Ich bin verwirrt, was Sie wollen. DataSet wird in XML serialisiert und am anderen Ende in ein DataSet deserialisiert. Warum müssen Sie sich um das zugrunde liegende XML kümmern?

+0

In der Tat. Ich verstehe es auch nicht, aber das war die Bitte, die ich bekam. –