java中的SOAPMessage对象明明没有实现序列化接口为何可以在网络上被http,jms,rmi(ejb)所传递呢?

给您添麻烦了 发布于 2015/07/21 21:39
阅读 338
收藏 0

我的问题是

1:soapMessage这个类我看了一下是没有实现序列化接口的。那么为何它可以被在网络上进行传送?

2:ejb的rmi通讯是否能够传送和返回soapMessage对象?

3:我只需要将我ejb的业务对象的接口(只有接口,没有业务类),部署到客户端。而实际的业务类(只有业务类,没有接口),部署到服务端就可以了。这个认识是否正确?


最近项目原因在研究一些java的分布式项目之间的调用问题,于是查看了jms,webService和rmi的文档。看了下这几种分布式调用协议都可以实现以下功能:

webService可以自动的把soap协议的数据封装到http请求里面然后发送到服务端.
jms,rmi我们通过java提供的soapMessage类,似乎也可以自己生成一个soap协议的对象,然后把这个对象通过Jms或者rmi传到服务端。

我的问题在于,soapMessage这个类我看了一下是没有实现序列化接口的。那么为何它可以被在网络上进行传送?

当我们在EJB组件中,使用实现了rmi规范的session Bean进行通讯时,在我看的文档中有类似以下这样的描述
我们在使用session bean通讯时,实际上客户端拿到的是一个存根对象.存根对象只是你ejb通讯对象接口的一个代理对象.这个对象会把你调用某个业务method的事件发送到客户端,客户端接受到以后在skeleton层中实例化出你实际的业务bean。然后再调用这个业务bean,最后把结果返回给客户端。当然了结果查询出来如果是基本数据类型就返回基本数据类型。如果是复杂对象则返回复杂对象。
我的问题是,ejb的rmi通讯是否能够传送和返回soapMessage对象?

我只需要将我ejb的业务对象的接口(只有接口,没有业务类),部署到客户端。而实际的业务类(只有业务类,没有接口),部署到服务端就可以了。这个认识是否正确?



加载中
返回顶部
顶部