w jednej aplikacji, komunikuje się z zewnętrznym api za pomocą XML RPC, wg dostarczonej specyfikacji (czyli to co zwraca api) jest pewna rozbierzność, nie wiem jednak czy to wina parsowania wyników, czy bład w rubiowym kliencie xml rpc.
odpowiedź na żądanie wygląda przykładowo tak:
<params>
<param>
<value>
<array>
<data>
<value>
<i4>0</i4>
</value>
<value>
<array>
<data>
<value>123</value>
<value>
<array>
<data/>
</array>
</value>
<value>456/value>
<value>456</value>
<value>
<array>
<data/>
</array>
</value>
<value>test1</value>
<value>test2</value>
<value>test3</value>
</data>
</array>
</value>
</data>
</array>
</value>
</param>
</params>
co parsowane jest na:
[
0,
[
"123",
[],
"456",
"456",
[],
"test1",
"test2",
"test3"
]
]
wg dostarczonej specyfikacji powinienem otrzymać coś takiego:
[
0,
[
"123",
[],
"456",
["456"],
"test1",
"test2",
"test3"
]
]
czyli ciąg znaków i pusta tablica powinna być zwrócona jako string w tablicy. Można parsować wyniki, żeby to “znormalizować” ale pytanie czy błąd nie leży gdzieś w ruby. Z tego co się orientuje to api generowane jest przez Jave (może to ma jakieś znaczenie).