EJB3.0与Web Service

来源:互联网 发布:淘宝店可以转让给别人 编辑:程序博客网 时间:2024/04/30 10:49

Java EE   API 包括 JAX-RPC、SAAJ和JAXR。

SAAJ:SOAP with Attachments API for Java。

JAXR:Java API for XML Registries。

Web service API的主要目的是将Java组件与标准web service协议桥接起来。

通过JAX-RPC访问Web Service
有三种API可以用来访问web service:生成存根(stub),动态代理,以及动态调用接口(DII).

动态代理与典型的Java RMI或CORBA编程模型非常相似,客户端通过一个实现了远程接口的网络存根对远程服务

进行访问。该存根负责将远程接口的调用转变成网络消息,然后再将消息发送给远程服务。这与使用EJB远程引

用的方式非常相似。只不过它使用的是基于HTTP的SOAP协议,而非CORBA IIOP。


通过WSDL生成JAX-RPC制品


使用JAX-WS
@WebService 默认所有方法都是webMethod,如果有方法带@WebMethod,则只有带此注解的方法才是web service

操作。
@WebMethod
@SOAPBinding注解
默认的样式为Document/Literal Wrapped
@WebParam
@WebResult
@OneWay

分离Web Service契约(Separating the web Service Contract)
即在接口中声明web service,只有@WebService是必须的,其他注解可选。那样所有方法都会被暴露为web

service操作。

实现类的@WebService(endpointInterface="包名+接口")
服务类,服务的端点接口
@WebServiceRef:引用服务接口或服务的端点接口
为了注入服务接口,可以将value()和type()属性都设置为服务的接口类,否则就需要根据数据成员的类型推断

出来。
JAX-WS实际上是将SOAP消息正文传递给JAXB (JAX Binding)Unmarshaller,由它来负责构建最终的Java对象结构

原创粉丝点击