从GWT客户端调用SOAP Web服务

时间:2011-11-22 12:12:08

标签: java web-services gwt soap webservice-client

我没有使用SOAP的经验,所以请帮助我。

我在客户端有GWT的web项目。至于本网站所需的信息,我必须致电/访问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网络服务吗?

E D I T

在此项目中,是一个.wsdl文件,它位于现有域

  

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

已经提供。我也有这个:

  

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

如何帮助我连接到SOAP Web服务?

我在java中创建了一个SOAP Client但我在javax.xml上遇到了一个错误。*关于继承所需的模块。

1 个答案:

答案 0 :(得分:2)

如果您尝试从其他域访问SOAP服务,那么您可能会被SOP限制。我建议构建一个实际与SOAP服务通信的瘦服务器端层。要与GWT服务器端通信,您可以使用DispatchAsyncRequestFactory