Apache CXF – JAX-WS –简单教程
许多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
Apache CXF – JAX-WS –简单教程相关推荐
- spring和maven_具有Spring和Maven教程的JAX–WS
spring和maven Spring框架通过JAX-WS提供对Web服务的远程支持,实际上,如Spring 参考文档中所述 ,有三种将Spring POJO服务公开为JAX-WS Web服务的方式: ...
- 带有Spring和Maven教程的JAX–WS
Spring框架通过JAX-WS提供对Web服务的远程支持,实际上,如Spring 参考文档中所述 ,有三种将Spring POJO服务公开为JAX-WS Web服务的方式: 公开基于Servlet的 ...
- jax-ws cxf_Apache CXF – JAX-WS –简单教程
jax-ws cxf 许多Java开发人员都认为Web Service实现的任务艰巨-好吧,没有人能真正责怪他们,尤其是在企业应用程序开发的多年中,这给开发和设计带来了很多复杂性. 对于某些人来说,了 ...
- 普元 AppServer 部署时页面提示部署失败,后台报错:Unable to load class org.apache.cxf.ws.policy.AssertionBuilder
[问题] 部署时页面提示部署失败,在server.log中显示异常信息如下: Unable to load class org.apache.cxf.ws.policy.AssertionBuilde ...
- apache-cxf 使用_使用Apache CXF进行Web服务学习
apache-cxf 使用 在我的最后几个项目中,我使用了Web服务,在某些地方创建它们并在其他地方使用它们. 我认为标准任务(例如创建客户端,创建Web服务等)非常简单,如果遇到问题,有足够的资源. ...
- 使用Apache CXF进行Web服务学习
在我的最后几个项目中,我使用了Web服务,在某些地方创建它们并在其他地方使用它们. 我觉得创建客户端,创建Web服务等标准任务非常简单,如果遇到问题,有足够的资源. 但是对于Web服务,这是一项琐碎的 ...
- Apache CXF负载平衡和故障转移
前一段时间,我们已经面临基于Apache CXF的负载平衡Web服务客户端的需求. 此外,当某些服务器关闭时,客户端应自动进行故障转移. 更糟糕的是,服务器目标地址列表要从外部服务获取并在运行时更新. ...
- cxf springmvc_拥抱模块化Java平台:Java 10上的Apache CXF
cxf springmvc 自Java 9发布最终将Project Jigsaw交付给大众以来,已经过去了整整一年的时间. 这是一段漫长的旅程,但是在那里,所以发生了什么变化? 这是一个很好的问题,答 ...
- java cxf_拥抱模块化Java平台:Java 10上的Apache CXF
java cxf Java 9版本终于将Project Jigsaw交付给大众已经过去了一年的时间. 这是一段漫长的旅程,但是在那里,所以发生了什么变化? 这是一个很好的问题,答案并不明显和直接. 总 ...
最新文章
- python动态图-Python处理gif动态图的解析与合成操作的介绍
- SUSE下使用syslog-ng部署日志服务器
- reactjs组件实例三大属性之refs使用示例:字符串形式的ref、回调函数形式的ref、回调ref中回调执行次数的问题
- python读取html_从零开始的Python爬虫教程(一):获取HTML文档
- 高通发布《5G经济》研究:将催生12万亿美元市场
- matlab用mkdir在指定的文件夹下创建新的文件夹,并把图像保存在该文件夹内
- 立创开源 | 基于lm393的模数温度传感器
- 推荐一款免费开源的pdf编辑器
- matlab怎么训练神经网络,matlab神经网络训练方法
- 蚁群算法原理及c++实现
- DTcms-【无限级别分类设计】
- Choerodon猪齿鱼实践之角色管理
- 谷歌整体战略:关于人工智能、云服务和登月计划的未来
- WEB简介:HTTP方法
- 仅一张人脸就能被扒得底裤不剩:口罩墨镜都没用,跨平台跨时空,这个人脸搜索惹了众怒...
- 如何引导回购和好评且不被平台抽查和处罚
- 青海出游全年时间表,你要收藏哟!
- 成功职业指导:我适合往管理方向发展吗?
- 百度员工离职总结:如何做个好员工?
- 实时性之硬实时与软实时
热门文章
- mysql binlog 备份恢复数据_Mysql结合备份+binlog恢复误删除操作数据
- 下载的c语言程序代码怎么运行,CFree怎么运行程序 编译运行C语言程序代码的方法...
- matlab 定义一个有自变量的方程_常微分方程:(第四章) 高阶微分方程
- 本地方法(JNI)——访问数组元素+错误处理
- AOP切点表达式及通知类参数传递方式
- java联接pg库_成为Java流大师–第5部分:将联接的数据库表转换为流
- envoy api 网关_为Envoy构建控制平面的指南-特定于域的配置API
- java中无法推断类型参数_Java 10中的本地类型推断,或者如果它像鸭子一样嘎嘎叫...
- java事件处理过程分布写_Java 9中的进程处理
- aws sqs_JMS和AWS SQS的更多高级内容