【问题标题】:how to add web service client to gwt如何将 Web 服务客户端添加到 gwt
【发布时间】:2011-08-19 14:15:03
【问题描述】:

背景: 我创建了一个 Web 服务客户端 VoucherWebService(从外部 Tomcat WSDL 使用),该客户端当前部署在本地 Glassfish 服务器上(该服务器当前也托管我的 GWT 项目 MyGWT)。

我发现在 GWT 项目中调用 VoucherWebService 的一种方法是将 VoucherWebService 导出为可执行 jar,然后将其包含在 MyGWT 中——既包含在构建路径中,也包含在 WEB-INF 中/lib。

问题: 上述方法有效。但是,VoucherWebService jar 文件巨大,我感觉我现在在 Glassfish 服务器上有重复的 资源(即 VoucherWebService 已经在服务器上运行-- 当然必须有一种更简单的方法将MyGWTVoucherWebService 联系起来)。我应该做其他事情吗(例如,将自动生成的 VoucherWebServiceEAR 项目导出为 .EAR 文件并改用它)?

【问题讨论】:

  • 如果我(很可能)不正确的动词用法、做法或对整个问题的一般网络服务无知让您尖叫,我深表歉意。在 Web 服务世界的第一周,这是一个没有指导和混乱的地狱(我什至不确定我是否应该称之为 Web 服务)。

标签: java web-services gwt glassfish


【解决方案1】:

您应该能够从任何地方调用 webservice 方法 - 不仅可以从同一容器(服务器)中的不同应用程序,还可以从全球其他站点上的服务器(当然不考虑网络问题;))不包括 JAR你提到的。

您不尝试将 Web 服务方法用作标准 Java 方法吗? (例如,将一些接口导入您的代码,并以标准 Java 方式调用其上的方法 - 我的意思是 object.method())?如果是这样,那就是不恰当地使用了 web 服务(在这种情况下,我们甚至不能使用“webservices”这个词)。

【讨论】:

  • 你是对的,从不同的容器调用 web 服务(这实际上是我正在尝试做的)我忘记添加单词客户端 - 已经编辑了问题以反映这一点。我已经创建了一个 WS client 并且我正在尝试将 WS client (与 GWT 项目在同一容器上运行)添加到 GWT 项目(我是/am 的印象是客户端是 Web 服务的接口)。我是否通过 servlet 向 WS 客户端添加接口(通过将其添加到 web.xml?)
  • @fjudoit 好的,所以你有一个公开 Web 服务的应用程序(它可能在欧洲的某些服务器上运行),以及另一个使用这些 Web 服务的 GWT 应用程序(使用它们),它可能在某个服务器上在非洲。在这种情况下,您的 GWT 应用程序应该包含 Web 服务客户端 JAR 或作为此类客户端本身。我认为您的问题出在 Web 服务客户端设计/库引用部分 - 它应该是相对较小的应用程序。你在 webservice 客户端应用程序中使用了一些特殊的框架吗?
  • 我正在使用 Axis2。 WS 客户端 jar 文件是 40MB,也许它不是很大,但我希望它更小。我认为您对“GWT ......成为这样的客户本身”的建议是正确的。再说一次,非洲服务器也可能是我的问题:)
  • 哇...在我看来 40MB 对于 Web 服务客户端来说是巨大的...您是否尝试按照此处所述创建客户端:axis.apache.org/axis2/java/core/docs/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-17
  • 1970-01-01
  • 2010-11-14
  • 1970-01-01
  • 2014-09-04
  • 2021-02-10
  • 1970-01-01
相关资源
最近更新 更多