SOAPでは、オブジェクトをXMLにシリアライズして相手に投げることで通信を行っている。
そのXMLが実際にどうなっているかを知る必要が、たまにある。その場合、XmlSerializerを使う。
使い方
例えば、HogeServiceネームスペースのMogeRequestというクラスを引数にとるWebサービスがあり、
mRequestが実際のオブジェクトだとした場合、VB.NETでは以下のような感じ。
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を使う場面もあるらしい。