开发者

Does SOAP have "remote objects"?

开发者 https://www.devze.com 2022-12-13 23:32 出处:网络
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 c

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 b开发者_开发知识库e passed around (as arguments or return values), but those are "just" data carriers.


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.


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

0

精彩评论

暂无评论...
验证码 换一张
取 消