1

通过查看此网站上的迷你规范,我有一个用 C# 开发的自定义 XML RPC 库:

http://xmlrpc.scripting.com/spec.html

它没有任何关于如何将标量字典序列化为 XML 的解释。幸运的是,到目前为止,我用 C# 编写的 .NET 客户端应用程序不需要将字典作为方法参数发送。但现在,确实如此。

我调用的服务器也有一个供 PHP 开发人员使用的 SOAP 客户端。我使用那个 SOAP 客户端在服务器(需要字典的那个)上调用上述方法,只是为了查看 XML 有效负载,所以我可以模仿它。

但是,由于它嵌入在 SOAP 信封中,因此我假设如果我使用的是纯 XML RPC 而不是 SOAP,则它与我需要发送的内容略有不同。

我想发一个Dictionary<int, int>。这是 SOAP 信封包含的字典部分的内容。

<item xsi:type="ns2:Map">
  <item>
    <key xsi:type="xsd:int">609</key>
    <value xsi:type="xsd:int">1</value>
   </item>
</item>

所以,我真的在寻找一个 XML RPC 等价物。

4

2 回答 2

1

使用 DataContractSerializer 怎么样?它最终将 .NET 类型(大部分)序列化为 SOAP 格式。它应该以可以包含到 SOAP 正文中的方式序列化字典。http://msdn.microsoft.com/en-us/library/ms752244(v=vs.110).aspx

于 2014-01-10T17:57:58.513 回答
0

<struct>我刚刚根据我在原始帖子中提到的链接中提供的定义发送了字典,并且它有效。

在我这样做之前,我只是将自定义 POCO 序列化为<struct>.

于 2014-01-26T11:34:02.743 回答