If you are getting this error when trying to perform actions on services or hosts in Icinga Web, most forum posts point to the configuration being correct, etc.

Firstly make sure that the command pipe referenced in access.xml points to a valid place, and has icinga-cmd:icinga ownership

vim /usr/local/icinga-web/app/modules/Api/config/access.xml
<!-- allowed to be written to -->
  <write>
    <files>
      <resource name="icinga_pipe">/var/spool/icinga/cmd/icinga.cmd</resource>
    </files>
  </write>
ls -l /var/spool/icinga/cmd/

Note: This example is from CentOS, your path(s) may vary

Then, which is much more likely the reason it does not work, is make sure you have not got SELinux preventing Apache from executing commands through the command pipe

Easiest way to test this is to temporarily change SELinux to permissive mode and try the action in Icinga Web again

setenforce Permissive

Note: Leaving SELinux in permissive mode is not recommended, please add a rule as necessary