Вызов веб-службы SOAP из клиента GWT - PullRequest
2 голосов
/ 22 ноября 2011

У меня нет опыта работы с SOAP, поэтому, пожалуйста, помогите мне.

У меня есть веб-проект с GWT на стороне клиента.Что касается информации, необходимой для этого сайта, я должен позвонить / получить доступ к веб-службе SOAP.Я прочитал некоторые форумы, которые я должен использовать RequestBuilder, чтобы сделать это.у меня есть следующий код:

    RequestBuilder builder = new RequestBuilder( RequestBuilder.POST, URL.encode( url ) );

    try {
      builder.sendRequest( null, new RequestCallback() {
        public void onResponseReceived( Request request, Response response) {
            if (200 == response.getStatusCode()) {
                // processing response here
            } else {
                // Handle the error
            }
        }

        public void onError(Request request, Throwable exception) {
            // error
        }

      });
    } catch (RequestException e) {
        // Couldn't connect to server
    }

Этот код вызывает ошибку и возвращает status code 0.Я думаю, что это снова SOP(Same-Origin-Policy).

Есть ли какой-либо другой способ, которым я могу сделать доступ к веб-службе SOAP в GWT?

EDIT

В этом проекте файл .wsdlнаходится в существующем домене,

http://sample.com/server/soap/soap.wsdl

уже предоставлено.И у меня также есть это:

http://sample.com/server/soap/soapserver.php

Как это помогает мне подключиться к веб-службе SOAP?

Я создал SOAP Client в Java, но я обнаружил ошибку в javax.xml. * О наследовании необходимых модулей.

1 Ответ

2 голосов
/ 22 ноября 2011

Если вы пытаетесь получить доступ к услуге SOAP из другого домена, тогда вы, вероятно, ограничены SOP. Я бы предложил создать тонкий слой на стороне сервера, который фактически будет взаимодействовать со службой SOAP. Чтобы поговорить с сервером GWT, вы можете использовать, например, DispatchAsync или RequestFactory .

...