Une chose que j'ai remarquée avec tous les exemples XML-RPC, y compris la spécification elle-même, est qu'il n'y a pas d'exemple détaillé de schéma utilisant des valeurs (param) récursives . Il est difficile de comprendre ce qui devrait être possible dans XML-RPC sans ces illustrations, et je me demande si quelqu'un pourrait m'aider à mieux comprendre.Comprendre les possibilités des paramètres XML-RPC, notamment la récursivité des valeurs
La spécification indique:
<struct> s peut être récursif, tout <valeur> peut contenir un <struct> ou tout autre type , comprenant un réseau < >, décrit ci-dessous.
<matrices> s peuvent être récursive, toute valeur peut contenir un tableau < > ou tout autre type , y compris un <struct>, décrit ci-dessus .
Est-ce que cela veut dire qu'il est parfaitement légal pour effectuer les opérations suivantes:
<?xml version="1.0"?>
<methodCall>
<methodName>examples.getStateName</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>lowerBound</name>
<value>
<struct>
<member>
<name>lowerBound</name>
<value><i4>18</i4></value>
</member>
<member>
<name>upperBound</name>
<value><i4>139</i4></value>
</member>
</struct>
</value>
</member>
<member>
<name>upperBound</name>
<value><i4>139</i4></value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>
Est-il possible de faire aussi ceci:
<?xml version="1.0"?>
<methodCall>
<methodName>examples.getStateName</methodName>
<params>
<param>
<value>
<array>
<data>
<value><i4>12</i4></value>
<value>
<struct>
<member>
<name>lowerBound</name>
<value>
<struct>
<member>
<name>lowerBound</name>
<value><i4>18</i4></value>
</member>
<member>
<name>upperBound</name>
<value><i4>139</i4></value>
</member>
</struct>
</value>
</member>
<member>
<name>upperBound</name>
<value><i4>139</i4></value>
</member>
</struct>
</value>
<value><boolean>0</boolean></value>
<value><i4>-31</i4></value>
</data>
</array>
</value>
</param>
</params>
</methodCall>
Je suis en train d'écrire une implémentation et je besoin de connaître toutes les possibilités, et ce qu'il faut vérifier lors de la traversée du schéma de quelqu'un sur le côté serveur. Avec la façon dont la spécification se lit, il semble que vous pouvez imbriquer des tableaux et des structures de façon interchangeable, mais je voulais vérifier que c'est vrai. Merci!