It seems, i have found the problem. All my *.js files where owned by a other user on file-system level, so the www-data user becomes access denied:
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:sabredav-version>3.2.0</s:sabredav-version>
<s:exception>ErrorException</s:exception>
<s:message>file_put_contents(/local/path/to/client.js): failed to open stream: Permission denied</s:message>
</d:error>
After correcting the ownership, the upload seems to work.
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:sabredav-version>3.2.0</s:sabredav-version>
<s:exception>ErrorException</s:exception>
<s:message>file_put_contents(/local/path/to/client.js): failed to open stream: Permission denied</s:message>
</d:error>
After correcting the ownership, the upload seems to work.