Upload de arquivo com API Angular2 para REST

Na verdade, estou trabalhando em uma API REST do Spring com uma interface codificada no Angular 2.

Meu problema é que não consigo carregar um arquivo com o Angular 2.

Meus recursos da Web em java é o seguinte:

@RequestMapping(method = RequestMethod.POST, value = "/upload")
public String handleFileUpload(@RequestParam MultipartFile file) {
    //Dosomething 
}

E está funcionando perfeitamente quando eu chamo isso através da solicitação de URL com cabeçalho de autenticação etc ... (com extensão Advanced Rest Client para Chrome)

Prova: (tudo funciona bem nesse caso)

Eu adicionei o

<bean id="multipartResolver"
      class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />

Arquivo de configuração do Spring e a dependência do Pom

<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.2</version>
</dependency>

MAS quando tento fazer a mesma coisa com um formulário da web:

<input type="file" #files (change)="change(files)"/>
<pre>{{fileContents$|async}}</pre>

Com o método (change):

change(file) {
    let formData = new FormData();
    formData.append("file", file);
    console.log(formData);
    let headers = new Headers({
        'Authorization': 'Bearer ' + this.token,
        'Content-Type': 'multipart/form-data'
    });
    this.http.post(this.url, formData, {headers}).map(res => res.json()).subscribe((data) => console.log(data));
    /*
    Observable.fromPromise(fetch(this.url,
        {method: 'post', body: formData},
        {headers: this.headers}
    )).subscribe(()=>console.log('done'));
    */
}

Meu serviço da web retorna um erro 500, com o dos logs do tomcat:http://pastebin.com/PGdcFUQb

Eu tentei o'Content-Type': undefined método também, mas sem sucesso (o serviço da Web retorna um erro 415 nesse caso.

Alguém pode me ajudar a descobrir qual é o problema?

Problema resolvido, atualizarei essa pergunta mais tarde com meu código :) mas, dê uma olhada no plunker que está funcionando perfeitamente. Obrigado.

questionAnswers(8)

yourAnswerToTheQuestion