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