protected function executePutMultipart($ch) {
        $xml = $this->request_body;

        $uri_string = $this->file_to_upload[0];
        $file_name = $this->file_to_upload[1];

        $post = array(
            'ResourceDescriptor' => $xml,
            $uri_string => '@' . $file_name . ';filename=' . basename($file_name)
        );

        \curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        \curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
        \curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
        \curl_setopt($ch, CURLOPT_URL, $this->url);
        \curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        $this->response_body = \curl_exec($ch);
        $this->response_info = \curl_getinfo($ch);

        \curl_close($ch);
    }