【问题标题】:Client application sending XML data发送 XML 数据的客户端应用程序
【发布时间】:2012-10-19 11:43:42
【问题描述】:

我想问一下,正在使用 Web 服务的客户端应用程序是否可以向 Web 服务发送大量 (54 MB) 数据?客户端应用程序是否也必须是 Web 服务?如果是,那么数据将作为对来自 Web 服务的请求的响应发送,我们如何能够从 Web 服务发送确认回执

我是网络服务的新手,所以任何帮助或指导都会非常有帮助。

【问题讨论】:

    标签: jax-ws webservice-client


    【解决方案1】:

    向网络服务发送大量 (54 MB) 数据?

    是的,这对于大公司来说是可能的并且很常见。然而,我们做出了一些决定,这有助于优化并可能加快传输速度,例如

    1. 数据传输格式/协议:您可以通过为负载选择正确的数据格式来节省消息负载的大小。用于 Web 服务数据传输的两种最流行的数据格式(也称为协议)是 JSON 和 XML(以及扩展名为 SOAP,一种基于 XML 的消息传递协议)。 JSON 是更轻量级的选项(尽管在其应用方面有所限制),而 XML 是更重的(但更通用的选项)。

    2. 数据传输协议:轻量级传输协议还有助于节省消息传输效率和速度。在这方面REST 是轻量级路由的首选传输协议。在实践中,大多数 Web 服务都是基于 HTTP 的,但是 Web 服务范式让您可以在各种传输协议(SMTP、RMI 是选项)中向 Web 服务发送请求,前提是您确定 Web 服务能够了解您用于发送数据的传输协议

    3. 二进制数据的处理:Web 服务消息通常作为文本/字符类型的有效负载传输。在处理二进制数据(图像、文件等)时,您必须对您的选项更具选择性(阅读:谨慎),因为为二进制数据选择错误的数据传输类型会导致数据(消息)膨胀。 SOAP 消息传输协议格式在这方面提供了几个选项。如果消息包含二进制数据,您可以调整 standards and concrete implementations of these standards 以优化消息的大小。

    客户端应用程序也必须是 Web 服务吗?

    没有。 Web 服务中的关键字是service,即要服务的应用程序/系统客户端。您的责任最终是通过预先确定的渠道以预先确定的格式向服务发送格式正确的数据(并根据您使用的服务类型期待对您的请求的可选响应)。除非您使用的服务明确定义了对您的系统的要求,因此发送另一条消息以确认较早的响应(我认为这是灾难性的糟糕设计),否则您没有义务这样做。

    【讨论】:

      猜你喜欢
      • 2018-08-06
      • 1970-01-01
      • 2014-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-30
      • 2014-04-12
      • 1970-01-01
      相关资源
      最近更新 更多