我正在尝试调用一个 xml-rpc Web 服务方法,该方法采用 1 个参数(值数组)键和引导。
键必须命名为“键”并且必须具有字符串类型的值。Leads 是一个包含潜在客户数据的 xml 文档。这必须打包为二进制对象。此值必须命名为潜在客户,并且必须是 base64 类型。
好的,所以在 python 中这个方法调用的 SINGLE 参数是:
r = proxy.leads({'key': key, 'leads': doc})
我的第一个问题是如何在 c# 中做到这一点?.net 最接近的东西是一个字典对象,它不会为此工作。
其次,如何使 xml 文档成为 base64 类型的二进制对象?这与将 byte[] 数组转换为 base64 字符串相同吗?像这样:
Convert.ToBase64String(byteArray)
以下是请求的外观:
<?xml version="1.0" encoding="iso-8859-1"?>
<methodCall>
<methodName>leads</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>key</name>
<value>
<string>XXXXXXXXXXX</string>
</value>
</member>
<member>
<name>leads</name>
<value>
<base64>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxlYWRzPgogICA8bGVhZD4K
ICAgICAgPGlkPjM5OTk3PC9pZD4KICAgICAgPEZpcnN0TmFtZT5Cb2IgSmltPC9GaXJzdE5hbWU+
CiAgICAgIDxMYXN0TmFtZT5TbWl0aDwvTGFzdE5hbWU+CiAgICAgIDxBZGRyZXNzPjEyMzQgV2Vz
:
:
ICAgICA8UmVjZWl2ZUFkZGxJbmZvPlllczwvUmVjZWl2ZUFkZGxJbmZvPgogICAgICA8bG9wX3dj
X3N0YXR1cz5ObzwvbG9wX3djX3N0YXR1cz4KICAgPC9sZWFkPgo8L2xlYWRzPg==
</base64>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
我完全被这个问题困住了。任何帮助将非常感激。