Java Web Services 中 JAX - WS 2.0 与 JAXB 2.0 特性解析
1. JAX - WS 2.0 特性
1.1 伪引用传递(Holder 用于 Out 和 In/Out 参数)
在 Java 方法调用中,对象引用是按值传递的。当传递 PurchaseOrder 实例时,接收对象得到的是该实例的引用而非副本。但在 Web 服务中,传递 PurchaseOrder 时会将其实例的序列化副本封装在 SOAP 消息中传输。
JAX - WS 2.0 基于 Holder 类提供了伪引用传递机制。例如使用 Holder<PurchaseOrder> 类作为 PurchaseOrder 的引用。在调用 Web 服务时,JAX - WS 会将 PurchaseOrder 的副本发送到目标,然后返回修改后的版本。不过,这种机制存在问题。如果有其他对象引用了 PurchaseOrder 实例,在 Web 服务调用后,这些对象引用不会更新,只有 Holder 类实例会更新,这可能导致引用无效,需要手动更新,代码容易出错。
1.2 运行时端点发布(仅 Java SE)
JAX - WS 提供了在运行时发布 Web 服务端点的功能,可使用 javax.xml.ws.Endpoint API 将 Web 服务实现实例分配给一个 URL。示例代码如下:
超级会员免费看
订阅专栏 解锁全文
2062

被折叠的 条评论
为什么被折叠?



