Pregunta

Oh hola, compañeros, entonces miembros,

Tengo un servicio web que devuelve datos XML utilizando una solicitud Get simple que dice esta:

http: // my-service: 8082/qc/getData? Paramx = 0169¶my = 2

El servicio devuelve XML sin procesar en la página de acuerdo con los valores de los parámetros.

Estoy tratando de recuperar estos datos de una solicitud GET en GWT usando requestBuilder, solicitud, etc. Sin embargo, la respuesta me da texto vacío, un código de estado de cero (que no significa nada y no se supone que suceda), y así.

Aquí está el código simplificado que no funciona.

public class SimpleXML implements EntryPoint {

public void onModuleLoad() {

    this.doGet("http://my-service:8082/qc/getData", "0169", "2");
}

public void doGet(String serviceURL, String paramX, String paramY) {
    final String getUrl = serviceURL + "?paramX=" + paramX + "&idTarification=" + paramY;

    RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, getUrl);

    try {
         Request response = builder.sendRequest(null, new RequestCallback() {

            @Override
            public void onResponseReceived(Request request, Response response) {
                response.getStatusCode(); // Gives me 0 (zero)  :(
            }

            @Override
            public void onError(Request request, Throwable exception) {
                // ... doesn't matter for this example
            }
        });
    } catch (RequestException e) {
        // ... doesn't matter for this example
    }
}

}

No entiendo por qué esto no funcionaría, ya que esto es realmente simple, he visto tutoriales y todos me muestran esta forma de hacer las cosas ...

Gracias por adelantado

¿Fue útil?

Solución

La razón es que los navegadores no permiten solicitudes de sitios cruzados con AJAX (ver Política de origen de la misma).

Esto significa que solo puede llamar a un servicio en el mismo servidor, el mismo puerto (usando el mismo protocolo) que su página HTML. Si desea realizar solicitudes de sitios cruzados, puede usar JSONP, como se explica en http://code.google.com/webtoolkit/doc/latest/tutorial/xsite.html.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top