Trying to post some articles on a blog (platform: WordPress) using Windows Live Writer, after giving "Publish", I repeatedly encountered an error like this:
“Invalid Server Response – The response to the Metaweblog.newpost method received from the weblog server was invalid: Invalid response document returned from XmlRpc server.” .
The above error generally occurs when large images are inserted in the post and on the web server (more precisely in Apache) filter is set "SecFilterInheritance ON” .
The simplest solution to the problem is to remove this filter for the file xmlrpc.php with the help .htaccess .
Add the following lines to the .htaccess file and hit "save"
<Files xmlrpc.php>
SecFilterInheritance Off
</Files>
After doing this simple operation, there will be no more problems related to XmlRpc. The above solution is also valid in the case of the error: “Windows Live Writer was not able to automatically detect your blog: Invalid Server Response – The response to the blogger.getUsersBlogs method received from the weblog server was invalid: Invalid response document returned from XmlRpc server”, which appears when you want to add a new WordPress blog account in Windows Live Writer.
ModSecurity.org, explains the security directive: SecFilterInheritance
Filter inheritance
Filters defined in parent folders are normally inherited by nested Apache configuration contexts. This is behaviour is acceptable (and required) in most cases, but not all the time. Sometimes you need to relax checks in some part of the site. By using the SecFilterInheritance directive:
SecFilterInheritance Off
you can instruct ModSecurity to disregard parent filters so that you can start with rules from the scratch. This directive affects rules only. The configuration is always inherited from the parent context but you can override it as you are pleased using the appropriate configuration directives.
Configuration and rule inheritance is always enabled by default. If you have a configuration context beneath one that has had inheritance disabled you will have to explicitly disable inheritance again if that is what you need.