【问题标题】:Soap Client consuming Rest Web Services使用 Rest Web 服务的 Soap 客户端
【发布时间】:2016-02-19 09:40:33
【问题描述】:

我正在处理这个项目,其中客户端仅支持 SOAP WSDL 来使用 Web 服务,因为它支持传入呼叫的​​休息。我需要将此工具与另一个完全安静的工具(具有 WADL)集成。肥皂客户端是否可以使用宁静的网络服务?如果是,你们会推荐哪个工具?

【问题讨论】:

  • 你的问题对我来说并不完全清楚。您是否使用“客户端”一词与“此工具”和“肥皂客户端”表示相同的意思?如果您的回答是肯定的,那么我是否理解正确,该工具支持调用基于 SOAP 的 Web 服务,而您的问题是如何让它调用 WADL 中定义的 Web 服务?请注意,REST 只是一种架构风格,基于 SOAP 的 Web 服务也可以是 RESTful。
  • 是的,你可以。使用 jax-ws,您可以使用 ProviderDispatch API 来完成。您甚至可以使用 HttpURLConnection 调用 REST 服务。毕竟,调用 REST 端点只是向某个 url 发出 HTTP 请求。这里有一些例子:java2s.com/Code/Java/Web-Services-SOA/…edureka.co/blog/how-to-write-restful-web-services-with-jax-wssubbu.org/blog/2006/08/jax-ws-for-restful-web-services

标签: web-services rest soap wsdl


【解决方案1】:

SOAP 为基于 XML 的消息交换定义了标准通信协议(规则集)规范。 SOAP 使用不同的传输协议,例如 HTTP 和 SMTP。标准协议 HTTP 使 SOAP 模型更容易通过防火墙和代理进行隧道传输,而无需对 SOAP 协议进行任何修改。

REST 描述了一组架构原则,通过这些原则可以通过标准化接口(例如 HTTP)传输数据。 REST 不包含额外的消息传递层,而是专注于创建无状态服务的设计规则。客户端可以使用唯一的 URI 访问资源,并返回资源的表示。对于每个新的资源表示,客户端被称为传输状态。使用 HTTP 协议访问 RESTful 资源时,资源的 URL 用作资源标识符,GET、PUT、DELETE、POST 和 HEAD 是对该资源执行的标准 HTTP 操作。

可以通过 jQuery 来完成。

语言标识符的 jQuery 示例:

$.post('https://services.open.xerox.com/RestOp/LanguageIdentifier/GetLanguageForString', 
{'document' : 'This is a sample'}, function (data) {
  var res = 'Not found';
  if (data != null) {
    res = data;
  }
});

延伸阅读:https://spring.io/guides/gs/consuming-rest-jquery/

【讨论】:

    【解决方案2】:

    不,soap 客户端不可能使用 RESTful 服务。它们之间没有任何互操作性。

    即使你可以这样做,你也不应该这样做。使用工具库并为您的休息服务创建一个休息客户端。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-23
      • 1970-01-01
      • 2012-05-31
      • 1970-01-01
      相关资源
      最近更新 更多