我被要求完成一些与应用程序中的许多Web服务相关的文档,并指出每个服务是否使用JAX-WS或JAX-RPC实现。这些服务已经开发了很多年,可能使用各种方法,包括RAD内置的Web服务向导,以及使用从Maven调用的wsimport。而且他们也随着时间的推移而改变和发展 - 即使在有些原始文件说这项服务是其中之一的情况下,我也不确定他们可以信任多少。
是否有任何明确的标记让我知道服务是JAX-WS还是JAX-RPC?我可以完全访问源代码,WSDL和模式。我只是不确定要找什么。
答案 0 :(得分:3)
如果您在Java源代码中看到@WebService
,那肯定是JAX-WS服务类。 JAX-WS结合使用自己的注释,并利用JAXB注释(pojos中的@XmlType
)将Java串行化/反序列化为XML。
如果您在Web模块中看到webservices.xml
或XML文件,其名称似乎映射到已知的Web服务名称,并且可能看起来像this example,那么这些是JAX-RPC服务。 JAX-RPC使用反射和映射文件将一组有限的Java类型转换为XML或从XML转换。您甚至可以搜索/ grep代码库中的XML命名空间值(例如http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd
或http://java.sun.com/xml/ns/jax-rpc/ri/config
)以查找此类映射文件 - 它们的名称可能会引导您使用JAX-RPC实现的服务。 / p>