XMLとSOAPメッセージに関しては、私はまったくの初心者です。...これがSOAPメッセージです。
<?xml version="1.0" encoding="utf-8" ?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CR>
<Username xmlns="<Hidden>">mtas</Username>
<Password xmlns="<Hidden>">password</Password>
<id xmlns="<Hidden>">
70dad12b-bb50-402d-8b34-
fe2d4c0c283d
</id>
<Data xmlns="<Hidden>">
<Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="<Hidden>">
<CS>
<CSCallbackRequest xmlns="">
<CDS xsi:nil="true" xmlns="<Hidden>"/>
<CDRP xmlns="<Hidden>"/>
<UDI xsi:nil="true"
xmlns="<Hidden>"/>
</CSCallbackRequest>
</CS>
<Fault xsi:nil="true" />
<Comment xsi:nil="true"/>
</Data>
</Data>
</CR>
</s:Body>
</s:Envelope>
逆シリアル化するクラスを提供するxsd.exeツールを使用してクラスを生成しました。この.xsdファイルは、SOAPメッセージの受信元の会社から提供されたものです。
これが問題です。このタイプの応答が会社から返されると、CSCallbackRequest内で、CDS、CDRP、およびUDIの3つの要素を探しています。受信しているコールバックのタイプを特定しようとしています。私の最初の仮定は、タイプ(生成されたクラスタイプ)のXMLSerializerを使用する場合、xsi:nil = trueを持たないCSCallbackRequest内の要素は、生成されたクラスタイプオブジェクト内のオブジェクトがnullにならないことを許可します。しかし、そうではありません。デシリアライズ後に、のプロパティにxsi:nilプロパティがないかどうかを確認するにはどうすればよいですか?