许多Java开发人员认为Web Service实现的任务艰巨-没人能真正责怪他们,尤其是在企业应用程序开发的多年中,这给开发和设计带来了很多复杂性。 对于某些人来说,了解它是构建完整的企业应用程序的下一步-Web服务-是实现面向服务设计的关键方案之一-几乎每个可用的平台都支持该方案,当然包括Java / J2EE。

在本教程中,我将展示如何使用Apache CXF通过JAX-WS和Apache CXF API创建Web服务,以从远程应用程序调用特定服务。

  1. 构建Web服务应用程序:服务器端–我们需要构建应用程序以及Web服务实现代码。 这将是一个通用的WAR(Web存档),将包含实际的实现
  2. 构建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来照顾其余的一切。

参考: Apache CXF – JAX-WS –我们的JCG合作伙伴 Alvin Reyes的简单教程 , 网址为Alvin“ Jay” Reyes博客博客。

翻译自: https://www.javacodegeeks.com/2013/05/apache-cxf-jax-ws-simple-tutorial.html

Apache CXF – JAX-WS –简单教程相关推荐

  1. spring和maven_具有Spring和Maven教程的JAX–WS

    spring和maven Spring框架通过JAX-WS提供对Web服务的远程支持,实际上,如Spring 参考文档中所述 ,有三种将Spring POJO服务公开为JAX-WS Web服务的方式: ...

  2. 带有Spring和Maven教程的JAX–WS

    Spring框架通过JAX-WS提供对Web服务的远程支持,实际上,如Spring 参考文档中所述 ,有三种将Spring POJO服务公开为JAX-WS Web服务的方式: 公开基于Servlet的 ...

  3. jax-ws cxf_Apache CXF – JAX-WS –简单教程

    jax-ws cxf 许多Java开发人员都认为Web Service实现的任务艰巨-好吧,没有人能真正责怪他们,尤其是在企业应用程序开发的多年中,这给开发和设计带来了很多复杂性. 对于某些人来说,了 ...

  4. 普元 AppServer 部署时页面提示部署失败,后台报错:Unable to load class org.apache.cxf.ws.policy.AssertionBuilder

    [问题] 部署时页面提示部署失败,在server.log中显示异常信息如下: Unable to load class org.apache.cxf.ws.policy.AssertionBuilde ...

  5. apache-cxf 使用_使用Apache CXF进行Web服务学习

    apache-cxf 使用 在我的最后几个项目中,我使用了Web服务,在某些地方创建它们并在其他地方使用它们. 我认为标准任务(例如创建客户端,创建Web服务等)非常简单,如果遇到问题,有足够的资源. ...

  6. 使用Apache CXF进行Web服务学习

    在我的最后几个项目中,我使用了Web服务,在某些地方创建它们并在其他地方使用它们. 我觉得创建客户端,创建Web服务等标准任务非常简单,如果遇到问题,有足够的资源. 但是对于Web服务,这是一项琐碎的 ...

  7. Apache CXF负载平衡和故障转移

    前一段时间,我们已经面临基于Apache CXF的负载平衡Web服务客户端的需求. 此外,当某些服务器关闭时,客户端应自动进行故障转移. 更糟糕的是,服务器目标地址列表要从外部服务获取并在运行时更新. ...

  8. cxf springmvc_拥抱模块化Java平台:Java 10上的Apache CXF

    cxf springmvc 自Java 9发布最终将Project Jigsaw交付给大众以来,已经过去了整整一年的时间. 这是一段漫长的旅程,但是在那里,所以发生了什么变化? 这是一个很好的问题,答 ...

  9. java cxf_拥抱模块化Java平台:Java 10上的Apache CXF

    java cxf Java 9版本终于将Project Jigsaw交付给大众已经过去了一年的时间. 这是一段漫长的旅程,但是在那里,所以发生了什么变化? 这是一个很好的问题,答案并不明显和直接. 总 ...

最新文章

  1. python动态图-Python处理gif动态图的解析与合成操作的介绍
  2. SUSE下使用syslog-ng部署日志服务器
  3. reactjs组件实例三大属性之refs使用示例:字符串形式的ref、回调函数形式的ref、回调ref中回调执行次数的问题
  4. python读取html_从零开始的Python爬虫教程(一):获取HTML文档
  5. 高通发布《5G经济》研究:将催生12万亿美元市场
  6. matlab用mkdir在指定的文件夹下创建新的文件夹,并把图像保存在该文件夹内
  7. 立创开源 | 基于lm393的模数温度传感器
  8. 推荐一款免费开源的pdf编辑器
  9. matlab怎么训练神经网络,matlab神经网络训练方法
  10. 蚁群算法原理及c++实现
  11. DTcms-【无限级别分类设计】
  12. Choerodon猪齿鱼实践之角色管理
  13. 谷歌整体战略:关于人工智能、云服务和登月计划的未来
  14. WEB简介:HTTP方法
  15. 仅一张人脸就能被扒得底裤不剩:口罩墨镜都没用,跨平台跨时空,这个人脸搜索惹了众怒...
  16. 如何引导回购和好评且不被平台抽查和处罚
  17. 青海出游全年时间表,你要收藏哟!
  18. 成功职业指导:我适合往管理方向发展吗?
  19. 百度员工离职总结:如何做个好员工?
  20. 实时性之硬实时与软实时

热门文章

  1. mysql binlog 备份恢复数据_Mysql结合备份+binlog恢复误删除操作数据
  2. 下载的c语言程序代码怎么运行,CFree怎么运行程序 编译运行C语言程序代码的方法...
  3. matlab 定义一个有自变量的方程_常微分方程:(第四章) 高阶微分方程
  4. 本地方法(JNI)——访问数组元素+错误处理
  5. AOP切点表达式及通知类参数传递方式
  6. java联接pg库_成为Java流大师–第5部分:将联接的数据库表转换为流
  7. envoy api 网关_为Envoy构建控制平面的指南-特定于域的配置API
  8. java中无法推断类型参数_Java 10中的本地类型推断,或者如果它像鸭子一样嘎嘎叫...
  9. java事件处理过程分布写_Java 9中的进程处理
  10. aws sqs_JMS和AWS SQS的更多高级内容