非常基本的问题,但我似乎无法在任何地方找到答案.
如何Dictionary<string, string>在SOAP中指定新的实例?基本上我有这个信封(为了便于阅读,省略了信封顶级标签):
<soapenv:Body>
<tem:LogInWithCredentials>
<tem:Request>
<ttf1:Password>password</ttf1:Password>
<ttf1:UserName>username</ttf1:UserName>
<ttf1:RequestInfo></ttf1:RequestInfo>
</tem:Request>
</tem:LogInWithCredentials>
</soapenv:Body>
Run Code Online (Sandbox Code Playgroud)
RequestInfo是有问题的财产,但它始终是null.我假设只是信封中属性的存在将被反序列化为空Dictionary<string, string>,但事实并非如此.
正如 @flem 所说,DataContractSerializer 可能提供回答这个问题所需的线索。序列化一个空字典会得到以下 XML。在您的 RequestInfo 元素中尝试一下,看看它是否有效(我自己没有测试过)。
<ArrayOfKeyValueOfstringstring
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
419 次 |
| 最近记录: |