Can you try with newline like this?
heartbeat.monitors:
- type: http
# List or urls to query
urls: ["http://localhost:8724/service/XXX/YYY"]
# request details:
check.request.method: POST
check.request.headers:
soapaction: '/Processes/XXXX'
check.request.body: 'XXX'
# Configure task schedule
schedule: '@every 10s'
Can you share the debug log from starting heartbeat in foreground with -e -d '*,config'?
Did you check with wireshark the header is missing?