> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alumio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Execute XML-RPC request

> Executes requests to an XML-RPC web service.

export const FormField = ({property, label, required = false, diType, uiPatterns, children}) => {
  const patterns = Array.isArray(uiPatterns) ? uiPatterns : uiPatterns ? [uiPatterns] : [];
  return <div style={{
    margin: '1.5rem 0'
  }}>
      <div style={{
    display: 'flex',
    alignItems: 'baseline',
    flexWrap: 'wrap',
    gap: '0.5rem',
    marginBottom: '0.25rem'
  }}>
        <strong>{label}</strong>
        <span style={{
    fontSize: '0.7rem',
    fontWeight: 600,
    textTransform: 'uppercase',
    letterSpacing: '0.04em',
    color: required ? '#6241f5' : '#6b7280'
  }}>
          {required ? 'Required' : 'Optional'}
        </span>
      </div>

      <div>{children}</div>

      {diType || patterns.length > 0 ? <p style={{
    fontSize: '0.85rem',
    color: '#6b7280',
    marginBottom: 0
  }}>
          {diType ? <>
              See the <a href={`/references/${diType}`}>{diType}</a> reference.{' '}
            </> : null}
          {patterns.length > 0 ? <>
              Accepts a <a href={`/documentation/placeholders-and-patterns/patterns#${patterns[0]}`}>pattern</a>.
            </> : null}
        </p> : null}
    </div>;
};

Sends a request to an XML-RPC web service and places the response into your data. XML-RPC is a request style used by some older or specialised systems (for example Odoo and certain WordPress and ERP endpoints) where you call a named remote procedure and pass it a set of parameters. This step builds the XML-RPC message for you from the values you supply, sends it to the service, reads the XML response back, and replaces the data flowing through with it so the next steps can use it.

This documentation describes: [Schema](/schemas/transformer/xmlrpc-transformer)

## Fields

<FormField property="endpoint" label="Request URI" required>
  The web address the request is sent to. If the selected HTTP API connection already has a base address, start this with a slash to append a path to it, for example `/xmlrpc/2/object`; otherwise enter the full URL. Placeholders are supported, so you can build the address from the data.
</FormField>

<FormField property="methodName" label="Remote Procedure" required>
  The name of the procedure to run on the remote service, for example `execute_kw`. Placeholders are supported.
</FormField>

<FormField property="request" label="Request parameters">
  The parameters sent with the request, entered as JSON. These values are placed into the parameters section of the XML-RPC message. Leave it empty to call the procedure with no parameters.
</FormField>

<FormField property="client" label="HTTP API connection" required diType="http-client">
  The pre-configured connection used to reach the web service, including its base address and any authentication. Leave it on the default connection unless you have set up a specific one.
</FormField>

## Sample data

This step makes a live XML-RPC call, so the result depends on the service and procedure you call. The example below calls the `version` procedure with no parameters.

| Field              | Value              |
| ------------------ | ------------------ |
| Request URI        | `/xmlrpc/2/common` |
| Remote Procedure   | `version`          |
| Request parameters | (empty)            |

The step wraps this in the correct XML-RPC envelope and sends it as a POST request:

```xml theme={null}
<?xml version="1.0"?>
<methodCall>
    <methodName>version</methodName>
</methodCall>
```

When you supply **Request parameters**, the values you enter are placed inside the `<params>` section of the message. The service's XML response is then parsed and becomes your data for the next step to use.

```json Configuration theme={null}
{
  "prototype": "xmlrpc-transformer",
  "parameters": {
    "client": "default",
    "endpoint": "/xmlrpc/2/common",
    "methodName": "version"
  }
}
```

See [Placeholders](/references/placeholders) for how to reference values from the data when building the request.
