SOAP 有“远程对象”吗?

发布于 2024-08-14 21:46:47 字数 202 浏览 6 评论 0原文

SOAP 继续让我困惑。

在 RMI 中,存在存在于远程服务器上的远程对象。您可以传递它们,但这只会在本地创建存根。存根通过线路委托所有方法调用。 这与纯数据对象有很大不同,纯数据对象被序列化并作为副本发送。

SOAP 中有远程对象吗?从我到目前为止所看到的(虽然没有深入挖掘)来看,有一些复杂的对象可以传递(作为参数或返回值),但这些“只是”数据载体。

SOAP is continuing to confuse me.

In RMI, there are remote objects, which live on the remote server. You can pass them around, but this will just create stubs locally. The stubs delegate all method calls over the wire.
This is quite different from pure data objects, which are serialized and sent as a copy.

Are there remote objects in SOAP? From what I have seen so far (did not dig deep, though), there are complex objects that can be passed around (as arguments or return values), but those are "just" data carriers.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

要走就滚别墨迹 2024-08-21 21:46:47

您可能会发现阅读 Web 服务标准很有帮助,例如 WS-I 基本概况,
其中说:

SOAP 1.1 定义了消息交换
消息处理模型。

换句话说,这是在不同系统之间传递消息。

作为 SOAP 服务的客户端,您不知道另一端是否有对象,并且(至少在通常的实践中)您收到的有效负载不会返回引用对象,您可以在其上调用进一步的远程消息。例如,如果您(在概念上)

 Order getOrder( int orderId )

并且订单看起来像

Order {  int orderId;
         Customer {  String name, String TelephoneNumber ... }
}

“客户”“对象”,则您没有调用导致远程工作的方法。
SOAP 接口具有纯粹以数据形式表示的有效负载。

语言绑定,使我们能够编写(例如)Java 来调用 SOAP/HTTP,为我们提供了服务的本地代理对象,但这并不意味着类似 RMI 的远程对象模型。

You may find it helpful to read up on the WebServices standards such as WS-I Basic Profile,
which say things like:

SOAP 1.1 defines a message exchange
model for processing of messages.

In other words this is is about passing messages between different systems.

As a client of a SOAP service you have no idea whether or not there are objects at the other end and (at least in common practice) the payloads you receive do not give you back reference objects on which you could invoke further remote messages. For example if you had (in concept)

 Order getOrder( int orderId )

and Order looked like

Order {  int orderId;
         Customer {  String name, String TelephoneNumber ... }
}

There Customer "object" there has no methods you invoke that result in remote work.
The SOAP interface has payloads expressed purely in terms of data.

Lanaguge bindings, to enable us to code (for example) Java to invoke a SOAP/HTTP give us local proxies objtecs for the service, but that does not imply an RMI-like remote object model.

嘿嘿嘿 2024-08-21 21:46:47

由于 SOAP 与语言无关,因此不可能有任何远程对象。应该使用哪种语言?

Since SOAP is language agnostic, there can't be any remote objects. Which language should be be in?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文