JSR-181 WS注释
Javax.jws
Javax.jws.soap
BEA公司提出的WebService注释规范(JSR-181)
与它相关的技术:JAX-WS,JAXB,StAX,SAAJ,XML Registries,XML Digital Signature,Security in Web Tier
注释不能避免的问题:1. 类型匹配:因为JSR-175规范注释只能是基本类型,String,Enums,比如URL,只能是字符串,要程序员自己保证该字符串是URL格式的
2. 保证注释和代码匹配:比如@OneWay注释的方法就不能有返回值
3. 注释之间必须匹配:比如@OneWay出现的方法上必须要有@WebMethod注释出现
WS实现类必须满足的条件1. 实现类必须public,outer ,必须不是final、abstract
2. 必须有公共默认Constructor
3. 必须没有finalize方法
4. 在class级别必须有@WebService指出该类是WS类
5. 若类引用一个服务endpoint interface可以使用@WebService.endpointInterface,这样该类就必须实现此接口所有方法,该类除了@WebService和@HandlerChain注释之外其他所有JSR-181的注释都不能使用,而且@WebService必须不能有name属性
6. 若类中没有@WebMethod注释而且没有实现endpoint interface,则所有除开从Object类中继承的public方法都被暴露成WebMethod(除开从继承来的@WebMethod.exclude也不会被暴露)
WS 接口必须满足的条件1. 接口必须是public,outer
2. 必须包含@WebService
3. 可以直接或间接继承java.rmi.Remote,但不必须
4. 接口中所有方法包含从父接口继承的方法都被暴露成WebMethod
5. 接口可以包含其他JSR-181注释以定制Java到WSDL的映射
6. @WebService中不能设置portName,serviceName,endpointInterface的值
WS 方法必须满足的条件1. 方法必须是public
2. 方法的参数,返回值,异常必须符合JAX-WS2.0 3.6中定义的要求
3. 方法可以抛出RemoteException异常,不是必须
@SOAPBinding使用1. 使Web Service使用SOAP协议
2. 可以使用在TYPE和METHOD上,作用于METHOD上其属性style必须是DOCUMENT,若是RPC则会报错
3. parameterStyle=BARE/WRAPPED
4. style=DOCUMENT/RPC
5. use=ENCODED/LITERAL
WebService 类Mapping1. @WebService.endpointInterface WSDL:portType
2. @WebService.targetNamespace WSDL:definations targetNamespace
3. @WebService.serviceName WSDL:service
4. wsdl:service 必须包含wsdl:port
5. wsdl:port必须和wsdl:portType 相同,但可能有不同的绑定
6. @WebService.portName wsdl:port
7. wsdl:binding 没有对应的注释
8. @WebMethod.operationName WSDL:operation
JDK 自带工具
Wsgen generated web service class with @WebService
Wsimport genertated web service from wsdl file
Xjc --Schema to Java Class
Schemagen – Java Class with annotation to Schema
发表评论
- 浏览: 1273 次
- 性别:

- 来自: 重庆

- 详细资料
搜索本博客
最新评论
-
Java 处理 XML 方法比较
牛,比较得比较好
-- by anlongstar -
又大了一岁
是时候在夜深人静,夜黑风高的夜晚好好思考这个问题了
-- by kenan161621 -
又大了一岁
哈哈 你么俩差不多,可以享用同等待遇萨
-- by simplechen -
又大了一岁
你娃过生都不说一声哟,再怎么说也要让我们敲诈一顿萨:)
-- by numenzq






评论排行榜