Java Web 服务: Metro 简介
2010-01-08 00:00:00 来源:WEB开发网Axis2 和 Metro 都提供集成的 HTTP 服务器支持。对于 Metro,这是通过 JAX-WS 特性 javax.xml.ws.Endpoint 类提供的。Axis2 和 Metro/JAX-WS 的集成 HTTP 服务器都适合在测试中使用,或者作为异步响应端口,但是不能容纳生产 Web 服务,对于生产 Web 服务,可以使用支持 Servlet API 的 Java 应用服务器。
示例应用程序
代码下载 部分提供了本系列之前文章中使用的简单的书库管理服务的一个版本,该版本经过了修改,以演示 Metro 的使用。和之前的版本一样,WSDL 服务定义一共定义 4 个操作:
getBook,用于获取国际标准书号(International Standard Book Number,ISBN)标识的特定图书的详细信息
getBooksByType,用于获取某种类型的所有图书的详细信息
getTypes,用于发现现有的图书类型
addBook,用于将新的图书添加到书库
在 “Axis2 中的 JAXB 和 JAX-WS” 中,您看到了这个应用程序在 Axis2 中如何工作:首先使用 JAXB 2.x 数据绑定生成代码,然后进行 JAX-WS 2.x 服务配置。该文章的大部分内容也适用于使用 Metro 的情况。除了服务名称和端点地址不同外,WSDL 是相同的,生成的 JAXB 数据模型是相同的,甚至生成的服务类也是相同的,只是 Java 包和 JAX-WS 注释中使用的服务名称不同。
客户端的使用
与使用 Axis2 和 JAX-WS 相比,在使用 Metro 的情况下,示例应用程序的客户端代码是相同的,甚至构建步骤也是相同的。请参阅 “Axis2 中的 JAXB 和 JAX-WS” 了解代码和处理的详细信息。
服务器端的使用
与使用 Axis2 和 JAX-WS 相比,在使用 Metro 的情况下,示例应用程序的服务器端代码也是一样的,只是构建步骤有所不同。使用 Axis2 时,是通过创建一个包含服务和数据模型类的 JAR 文件来准备用于部署的服务,然后通过将该 JAR 拖放到 Axis2 服务器安装目录中的 WEB-INF/servicejars 目录中来部署服务。
更多精彩
赞助商链接