【问题标题】:Calling SOAP web service from GWT client从 GWT 客户端调用 SOAP Web 服务
【发布时间】:2013-10-03 11:07:19
【问题描述】:

我没有任何使用 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)

我还有其他方法可以访问GWT 中的SOAP 网络服务吗?

编辑

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

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

已提供。我也有这个:

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

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

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

【问题讨论】:

  • 而是构建一个服务器端机制来调用soap服务......并使用异步回调来调用它。
  • @MichaelWiles 抱歉,我真的不知道该怎么做。你能解释一下我会用什么吗? RequestBuilder 还能在服务器端起作用吗?
  • 一旦你在服务器端,你可以使用任何你喜欢的库/api来执行soap请求。 Axis/JAXWS/simple http 连接等... RequestBuilder 不能在服务器端工作。
  • @MichaelWiles 在这个项目中,提供了一个 .wsdl 文件。此文件来自另一个域。我该怎么办?我真的不知道该怎么做。很抱歉打扰你... :(

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


【解决方案1】:

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

【讨论】:

  • 你好..谢谢你回答这个问题。 thin server-side layer 是什么意思?这个怎么做?我真的不知道这里。对不起:(
  • @rajec dimchez 的意思是 GWT 是一种客户端技术,您应该使用服务器与 SOAP 进行通信。因此,如果您在服务器端使用 Java,请使用 GWT 请求 Java 与 SOAP 对话。
  • @rajec 我的意思是你应该在你的 GWT 项目中使用.server 包——这就是应该实现与SOAP 服务的所有实际通信的地方。然后将数据传递到您的客户端代码,您可以使用上面提到的 DispatchAsync 或 RequestFactory
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-11
  • 2012-05-31
  • 2014-09-04
  • 1970-01-01
  • 1970-01-01
  • 2010-12-23
相关资源
最近更新 更多