Ich versuche, von einem VBA für Excel-Programm eine RESTful-API in VB.NET abzufragen.XML kann in VB.NET nicht deserialisiert werden
Allerdings kann ich nicht scheinen, das XML richtig zu deserialisieren.
Auf der VBA Seite ist der Code wie folgt vor:
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
URL = "http://localhost:50261/api/values"
objHTTP.Open "POST", URL, False
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0;Windows NT 5.0)"
objHTTP.setRequestHeader "Content-type", "application/xml"
objHTTP.send ("<?xml version=""1.0"" encoding=""UTF-8""?><KPISheet><site>mysite</site><unit>myunit</unit></KPISheet>)")
Wie Sie sehen können, ich sende, was ich glaube, ein gut geformt und sehr einfache XML-Dokument ist.
Auf VB.NET Seite habe ich eine Klasse, genannt KPISheet:
Public Class KPISheet
Public Site As String
Public Unit As String
End Class
Und ein WebAPI, die 'POST' zu bekommen:
Public Sub PostValue(<FromBody> oKPISheet As KPISheet)
Debug.Print("toto")
End Sub
Wenn ich in der einen Haltepunkt gesetzt Debug-Zeile, ich kann sehen, dass oKPISheet Nothing ist, die XML-Datei wird nicht deserialisiert.
im Ausgabefenster, erhalte ich die folgende Fehlermeldung:
Ausnahme geworfen: 'System.Runtime.Serialization.SerializationException' in System.Runtime.Serialization.dll
ich versucht haben, und ohne das Etikett, aber ich kann es nicht zur Arbeit bringen.
ich landete geändert JSON meine Last, und das ist wie ein Zauber funktionieren ... – Maxime