title: Angular 2 Exception: TypeError: 'caller', 'callee', and 'arguments' properties may on strict mode functions or the arguments objects
body: <p>I have a problem in Angular 2, I know this is a recurring problem, but I could not find the resolution. I made a service wich is called from another Component, is no problem there.
  The problem was in the service, I'm trying to make a http POST and get and error:
  <strong>[Exception: TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them at Function.remoteFunction</strong>
  <a href="https://i.stack.imgur.com/X2Olc.png" rel="noreferrer">error capture</a>
  <a href="https://i.stack.imgur.com/n81IZ.png" rel="noreferrer">complete error capture</a></p>
  
  <p>Apparently the error is given in handleErrorObservable, because the post is not executed either, looking at the network tab in Chrome I do not see any POST call to the api.
  Here my service Code.</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>import { Injectable } from '@angular/core';
  import { Http, Response, RequestOptions } from '@angular/http';
  import { Observable } from "rxjs/Observable";
  import 'rxjs/add/operator/catch';
  import 'rxjs/add/operator/map';
  import { User } from "./user";
  import { HttpHeaders } from '@angular/common/http';
  import { Headers  } from '@angular/http';
  
  import 'rxjs/add/operator/map';
  import 'rxjs/add/operator/catch';
  import 'rxjs/add/operator/toPromise';
  
   
  
  @Injectable()
  export class RegisterService {
       usersUrl: 'http://localhost:8080/TrabajoPromocion/users/';  
      constructor(private http:Http) { }
   
      addBookWithObservable( ): Observable&lt;User&gt; { 
          let body = JSON.stringify({   
              "fullname": "a",
              "username": "h",
              "password": "3",
              "email": "33"
          }); 
          
          let headers = new Headers({ 'Content-Type': 'application/json' });
          console.log('3');
          let options = new RequestOptions({ headers: headers });
           return this.http.post(this.usersUrl, body, options)
                         .map(this.extractData)
                         .catch(this.handleErrorObservable);             
          }
       
      private extractData(res: Response) { 
          let body = res.json();
              return body || {};
          }
      private handleErrorObservable (error: Response | any) { 
          console.error(error.message || error);
          return Observable.throw(error.message || error);
              }
      
      
  }</code></pre>
  </div>
  </div>
  </p>
  
  <p>Thanks to all, any help is welcome.</p>