SOAPでは、オブジェクトをXMLにシリアライズして相手に投げることで通信を行っている。
そのXMLが実際にどうなっているかを知る必要が、たまにある。その場合、XmlSerializerを使う。
使い方
例えば、HogeServiceネームスペースのMogeRequestというクラスを引数にとるWebサービスがあり、
mRequestが実際のオブジェクトだとした場合、VB.NETでは以下のような感じ。
1 2 3 4 5 6 7 8 9 |
Dim formatter As New XmlSerializer(GetType(HogeService.MogeRequest)) Dim strm As System.IO.Stream = New System.IO.FileStream("C:\tmp\sample.xml", System.IO.FileMode.Create) Try formatter.Serialize(strm, mRequest) Catch ex As Exception Finally strm.Close() End Try |
これで、sample.xmlにHogeService.MogeRequestクラスのmRequestの中がXmlにシリアライズされた内容が書き込まれる。
他にもSoapFormatterを使う場面もあるらしい。