Não passar o header para o servidor

Tenho este código no angular:

import { RequestOptions, Headers } from '@angular/http';

const createDefaultHeaders = function() {
  let token = 'Bearer ' + localStorage.getItem('token');
  let headers = new Headers(
  //  { 'Content-Type': 'application/json', 'Authorization': localStorage.getItem('token') }

    {
      'Content-Type': 'application/json', 
      'Authorization': localStorage.getItem('token'),
      'Accept': 'application/json',
      'Access-Control-Allow-Origin': '*',
      'Access-Control-Allow-Credentials': 'true'
    }

  );
  let options = new RequestOptions({ headers: this.headers });
  return options;
};

export const REQUEST_OPTIONS_DEFAULT: Function = createDefaultHeaders;

Código java com spring

String requestHeader = null;
		System.out.println("O header é nulo? "
				+ request.getHeader("Authorization") == null);
		if (request.getHeader("Authorization") != null) {
			System.out.println("O que tem dentro do header? "
					+ request.getHeader("Authorization"));
			requestHeader = "Bearer " + request.getHeader("Authorization");
		}

		logger.debug("Autenticação de processamento para '{}'",
				request.getRequestURL());

A variável requestHeader sempre fica nulo.

Tem um tempo que estou fazendo com mock, mas não consegui resolver.

Como que está tua chamada?
A cosntrução do header, a priori, está ok.

Serviço está assim:

No caso é a variável options, que é o retorno deste arquivo.

import { Injectable, EventEmitter }  from '@angular/core';
import { Http, Response } from "@angular/http";
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/map';
import 'rxjs/add/observable/throw';

import { BASE_API_URL } from '../../base-api-url-defaul';
import { REQUEST_OPTIONS_DEFAULT } from '../../request-options.default';
import { AuthenticationService } from '../../authentication/authentication.service';
import { Servico } from '../../../modelo/federal/servico.model';


@Injectable()
export class ServicoService {

  private base: string;
  private options: Function;

  constructor(
    private http: Http,
    private authenticationService: AuthenticationService,
  ) {
    this.base = BASE_API_URL + 'servicoRecurso';
    this.options = REQUEST_OPTIONS_DEFAULT;
  }

  getPesquisar(servico: Servico) {
    let url = this.base + "/buscar";
    return this.http.post(url, servico,  this.options())
      .map((response: Response) => {
        console.log("Pesquisou por servico " + response.status);
       return response.json();
      }
    ).catch((error:any) => 
      Observable.throw(error.json().error || 
      'Erro em buscar servico ' + console.log(this.options))
    );
  }

  getTodos() {
    let url = this.base + "/todos";
    return this.http.post(url,  this.options())
      .map((response: Response) => {
        console.log("Todos servicos " + response.status);
       return response.json();
      }
    ).catch((error:any) => 
      Observable.throw(error.json().error || 
      'Erro em buscar Todos servicos ' + console.log(this.options))
    );
  }

  getAlterar(id : Number) {
    let url = this.base + "/alterar/" + id;
    return this.http.get(url,  this.options())
      .map((response: Response) => {
       return response.json();
      }
    ).catch((error:any) => 
      Observable.throw(error.json().error || 
      'Erro em buscar servico pelo ID')
    );
  }

  getExcluir(id : Number){
    let url = this.base + "/excluir/" + id;
    return this.http.get(url,  this.options())
      .map((response: Response) => {
       return response.json();
      }
    ).catch((error:any) => 
      Observable.throw(error.json().error || 
      'Erro em excluir servico pelo ID')
    );
  }

  getSalvar(servico: Servico){
    let url = this.base + "/salvar";
    return this.http.post(url, servico, this.options())
      .map(res=> res.json()
    ).catch((error:any) => 
      Observable.throw(error.json().error || 
      'Erro em salvar servico')
    );
  }
}