Skip to content

Unable to get global data using the XML-RPC API #580

Open
@jorgemarti

Description

@jorgemarti

I have defined a series of schemas to store global data, and I'm trying to access data using the XML-RPC API using cURL.

I am able to get the schema definition with the following request:

<?xml version='1.0'?>
<methodCall>
  <methodName>plugin.struct.getSchema</methodName>
  <params>
    <param>
      <value>
        <string>firewallzones</string>
      </value>
    </param>
  </params>
</methodCall>

The response is as follows:

<?xml version="1.0"?>
<methodResponse>
  <params>
    <param>
      <value>
        <struct>
  <member><name>firewallzones</name><value><array><data>
  <value><struct>
  <member><name>name</name><value><string>name</string></value></member>
  <member><name>type</name><value><string>Text</string></value></member>
  <member><name>ismulti</name><value><boolean>0</boolean></value></member>
</struct></value>
  <value><struct>
  <member><name>name</name><value><string>purpose</string></value></member>
  <member><name>type</name><value><string>Text</string></value></member>
  <member><name>ismulti</name><value><boolean>0</boolean></value></member>
</struct></value>
</data></array></value></member>
</struct>
      </value>
    </param>
  </params>
</methodResponse>

However if I try to get the global data on that schema, I get a meaningless response:

Post data:

<?xml version='1.0'?>
<methodCall>
  <methodName>plugin.struct.getData</methodName>
  <params>
    <param>
      <value>
        <string>doku:admin</string>
      </value>
    </param>
    <param>
      <value>
        <string>firewallzones</string>
      </value>
    </param>
    <param>
      <value>
        <int>0</int>
      </value>
    </param>
  </params>
</methodCall>

Response:

<?xml version="1.0"?>
<methodResponse>
  <params>
    <param>
      <value>
        <struct>
  <member><name>firewallzones</name><value><struct>
  <member><name>name</name><value><string></string></value></member>
  <member><name>purpose</name><value><string></string></value></member>
</struct></value></member>
</struct>
      </value>
    </param>
  </params>
</methodResponse>

As you can see, no values are returned, only column names.

Probably not important, but all cURL calls are made as as follows:

curl -X POST https://myserver/lib/exe/xmlrpc.php -H "Content-Type: application/xml" -H "Accept: application/xml" -d "@postData.xml" --cookie cjar

Any ideas? Many thanks for your feedback.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions