Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/06/2013, 18:14
quatress
 
Fecha de Ingreso: enero-2008
Mensajes: 28
Antigüedad: 16 años, 3 meses
Puntos: 0
No puedo consumir los datos de un servicios externos REST con AngularJS

Hola antes que nada y gracias!!!! Como les adelante en el asunto no logro consumir datos de un servicio REST JSON con AngularJS.

Primero les explico como tengo armada la solución y por ultimo describo el problema.

CONTEXTO ACTUAL
===============

Utilizo dos servidores:

JBoss 4.3
Este server lo utilizo para el back-end de la aplicación, en este caso contiene los servicios REST JSON con RestEasy (Java).
La URL de consulta es la siguiente: "http://localhost:8080/RESTfulExampleJSON/json/product/todos" (observen que escucha en el puerto 8080)

Ejemplo del resultado:

[ { "id" : "0",
"descripcion" : "Descripcion 0"
},
{ "id" : "1",
"descripcion" : "Descripcion 1"
}
]

LightTPD 1.4.32-1
Este server lo utilizo para front-end de la aplicación, contiene la aplicacion web creada con AngularJS y es la que consume los servicio REST JSON expuesto anteriormente. Para esto me base en el proyecto angular-phonocat (https://github.com/Boychenko/angularjs-seeds/tree/master/angular-phonecat-master).

Este mismo tiene declarado el siguiente servicio, el cual modifique para que en ves de buscar los datos en un archivo, los valla a buscar a una URL del servicio REST creado anteriormente con RestEasy.

Archivo modificado: services.js

'use strict';

/* Services */

angular.module('phonecatServices', ['ngResource']).
factory('Phone', function($resource){
return $resource('http://localhost\\:8080/RESTfulExampleJSON/json/product/todos', {}, {
query: {method:'GET',params: {},isArray:true}
});
});

** (isArray lo probe tanto en true como en false) **
** (json/product/todos me devuelve la lista completa de todos los productos, por lo que no necesita ningun parametro) **

El PROBLEMA
============

Analizando la consulta con el "Inspector de Elementos" del Chrome encuentro que:

OPTIONS http://localhost:8080/RESTfulExampleJSON/json/product/todos Origin http://localhost:8180 is not allowed by Access-Control-Allow-Origin. angular.js:9253
XMLHttpRequest cannot load http://localhost:8080/RESTfulExampleJSON/json/product/todos. Origin http://localhost:8180 is not allowed by Access-Control-Allow-Origin. localhost/:1

Probé también con otras url como "http://ip.jsontest.com/?callback=showMyIP" y me arroja el mismo mensaje de error.

Desde ya si alguien me puede orientar le seré muy agradecido.. Gracias a todos nuevamente y espero buenas noticias!!!