私は、VBA for Excelプログラムから、VB.NETでRESTfulなAPIをクエリしようとしています。VB.NETでXMLを逆シリアル化できません
しかし、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がNothingであることがわかります。XMLファイルはデシリアライズされません。 [出力]ウィンドウで
、私は次のエラーメッセージを取得:スロー
例外:私が試してみましたSystem.Runtime.Serialization.dll
の 'System.Runtime.Serialization.SerializationException' をタグなしでは、私はそれを動作させることはできません。
私は – Maxime