繁体   English   中英

SOAP是否具有“远程对象”?

[英]Does SOAP have “remote objects”?

SOAP继续使我感到困惑。

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

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

您可能会发现阅读诸如WS-I Basic Profile之类的WebServices标准很有帮助,该标准说如下:

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

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

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

 Order getOrder( int orderId )

和订单看起来像

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

没有客户“对象”,您没有调用可导致远程工作的方法。 SOAP接口具有仅根据数据表示的有效负载。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM