许多Java开发人员认为Web Service实现的任务艰巨-没人能真正责怪他们,尤其是在企业应用程序开发的多年中,这给开发和设计带来了很多复杂性。 对于某些人来说,了解它是构建完整的企业应用程序的下一步-Web服务-是实现面向服务设计的关键方案之一-几乎每个可用的平台都支持该方案,当然包括Java / J2EE。
在本教程中,我将展示如何使用Apache CXF通过JAX-WS和Apache CXF API创建Web服务,以从远程应用程序调用特定服务。
- 构建Web服务应用程序:服务器端–我们需要构建应用程序以及Web服务实现代码。 这将是一个通用的WAR(Web存档),将包含实际的实现
- 构建Web服务应用程序:客户端–当然,我们需要为外部客户端提供一种使其可以访问服务的方式–我们将创建一个存根并将其分发给客户端,以供他们使用服务。
仅供参考:我正在使用Maven简化库定义。
首先我们创建存根
它包含用于访问服务的接口和实体(Pojos)。 设计服务时–通常,您通常先创建类接口(引用),然后将其放在另一个JAR文件中以进行重新分发。
第二让我们建立服务。
我们将从部署到应用程序服务器的Web存档托管服务。
POM。 xml –我们将使用Spring CDI和CXF –可能会加载所需的所有库。
我们在服务器上包含存根,因为它将作为实现的参考:
现在,我们创建服务实现:
cxf-servlet(或beans.xml)–在这里我们将调用工厂,该工厂将在加载上下文时发布WSDL。
web.xml –由于我们使用的是框架,因此我们需要确保Web服务请求将通过CXF。 CXF的优点是它完成了所有必要的绑定,编组,解组以及注入进/出拦截器。
构建和部署WAR! –部署战争后,查看上下文页面。 您应该看到这样的内容:
如果您设法查看上述URL,则说明您已经成功公开了服务,现在可以由外部客户端调用
第三,我们创建客户端应用程序。
现在,我们创建一个独立的Java应用程序来调用该服务–我们将再次使用Spring上下文加载客户端Bean,并且需要包含存根,以便我们可以引用实现。
beans.xml –创建xml并调用代理工厂bean在运行时创建实例
创建客户端–我们现在将调用bean并使用引用来调用方法。
–测试您的服务!
您现在应该可以调用服务实现了!
在此处下载示例
通过这个简单的示例,它确实是一个确凿的证据,证明现在创建Web Service只是轻而易举–我们利用Apache CXF作为服务框架来简化开发,并利用Springs强大的CDI来照顾其余的一切。
翻译自: https://www.javacodegeeks.com/2013/05/apache-cxf-jax-ws-simple-tutorial.html