Я пытаюсь из программы VBA для Excel запросить RESTful API в VB.NET.Не удается получить deserialize XML в VB.NET
Однако я не могу десериализовать XML должным образом.
На стороне VBA, код выглядит следующим образом:
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>)")
Как вы можете видеть, я посылаю, что я считаю, это хорошо сформированы и очень простой XML-документ.
На VB.NET стороне, у меня есть класс, называемый KPISheet:
Public Class KPISheet
Public Site As String
Public Unit As String
End Class
И WebAPI, чтобы получить 'POST':
Public Sub PostValue(<FromBody> oKPISheet As KPISheet)
Debug.Print("toto")
End Sub
Если я установить точку останова в Отладочная строка, я вижу, что oKPISheet is Nothing, XML-файл не десериализуется.
В окне Output, я получаю следующее сообщение об ошибке:
Exception брошенного: 'System.Runtime.Serialization.SerializationException' в System.Runtime.Serialization.dll
Я попытался с и без тега, но я не могу заставить его работать.
Я в конечном итоге изменил мою нагрузку JSON, и то работать как шарм ... – Maxime