我試圖調用一個xml-rpc Web服務方法,該方法需要1個參數(值的數組)。如何將xml文檔編碼爲base64二進制對象
鍵必須命名爲'鍵'並且必須具有字符串類型的值。 Leads是包含導出數據的xml文檔。必須將其打包爲二進制對象。該值必須被命名爲線索,並且必須是base64類型。
好吧,所以在python這個方法調用中的一個參數是:
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>
我完全被卡住這個問題。任何幫助將非常感激。
的樣本數據+預期的XML將找出你有用想要實現... –
我現在正在添加編輯,但是如果您不想等 - 我在這裏發佈的問題不太集中。 http://stackoverflow.com/questions/10855156/the-membername-member-is-not-of-type-base64-error-from-xml-rpc-service-call – Donnie