Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

How do I specify the type of a non-string param value in an XMLRPC request?

Brian M Thomas
Contributor
September 20, 2017

I am using the deprecated XMLRPC service to export spaces.  I can formulate and successfully execute a request for the exportSpace method with three String parameters:

<?xml version="1.0"?>
<methodCall>
<methodName>confluence2.exportSpace</methodName>
<params>
<param>
<value>a4b89b18f0</value>
</param>
<param>
<value>cm2011</value>
</param>
<param>
<value>TYPE_XML</value>
</param>
</params>
</methodCall>

but the method I need has a fourth parameter, which is boolean, specifying whether I want to export everything. When I try to add it like this:

 <param>
<value>true</value>
</param>

I get a response saying that there's no method by that name with four String parametersparam is a string. The WSDL spec for the SOAP service method definition has the fourth parameter with a type attribute with the value"xsd:boolean", so I naïvely tried changing my param tag to add the attribute, without success.

I realize that this was a shot in the dark -- after all, this isn't a SOAP request -- but I haven't found anywhere how to specify a non-default type for a parameter in XMLRPC requests.

This should be easy, but I haven't found it anywhere.

1 answer

1 accepted

0 votes
Answer accepted
Brian M Thomas
Contributor
September 20, 2017

Sorry; it was easy.

The answer is at http://xmlrpc.scripting.com/spec.html, which says that you surround the content of the value tag with a type-specifying tag.  In my case:

<param>
<value><boolean>true</boolean></value>
</param>

Now, however, it says that there's no such method with three Strings and a boolean...

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events