如何使用CXF将 wsdl 文件变成java文件

如何使用CXF将 wsdl 文件变成java文件,第1张

用myeclipse将wsdl文件生成java代码:

1、选择新建的工程后,点击右键,选择“Run As”->“Run”,如下图所示:

2、d出如下窗口:

3、 在上图中,左边选择“Java Application”后,点击左上角的新增“”按钮new configuration,页面如下图所示:

4、在上图中,将“Include libraries when searching for a main class” 勾上,而后点击“Main class”右边的“Search”按钮,d出窗口如下图所示:

5、在上图中输入WSDL2Java后,查找到axis这个jar包中对应类,点击“OK”按钮,此时主窗口如下图所示:

6、在上图中点击“Arguments”页签,Arguments里把要生成的web service URI或wsdl文件写进去,最后点run。在下图中输入的是wsdl文件的路径: src/wsdl/acd_accessCode_interfacewsdl、src/wsdl/acd_accessCode_servicewsdl:

7、生成的java代码如下:

说起web service最近几年restful大行其道,大有取代传统soap web service的趋势,但是一些特有或相对老旧的系统依然使用了传统的soap web service,例如银行、航空公司的机票查询接口等。

目前就遇到了这种情况,需要在系统中查询第三方提供的soap web service接口,也就是说要将它整合进现有的系统当中。

Spring整合CXF本来十分简单,但是因为使用了 Spring Boot ,不想用以前xml一堆配置的方式,那么能否按照Spring Boot的风格优雅的进行整合呢?

答案当然是肯定的,但是遍查网上几乎没有这方面的资料,折腾过后觉得还是有必要记录一下,虽然它显得非常的简单。

这里主要添加的是cxf的包依赖

这里我创建了一个hello word的测试方法

在业务实现中我们需要如下配置:

参数说明:

targetNamespace 为这是我的接口类所在路径;

endpointInterface 这是我的业务类所在路径;

业务层我们已经创建完成了,但是我们应该如何让webService运行起来呢?

那么到这里呢,我们的所有的步骤基本完成了,启动spring boot 然后再浏览器中输入url: >

Apache CXF 是一个开源的 Service 框架,简化用户的 service 开发,基于CXF开发的应用可提供 SOAP 、 XML/>

说明:本文章记录的是基于springboot搭建的cxf服务端和soap客户端调用

说明:目前我使用到了四个注解,分别是

@WebService:表明该接口是一个webservice服务接口,注解里的属性值可以设置生成的wsdl文档的命名空间等信息,此处没有遇到相关错误,因此没有进行设置,不过建议还是设置上。

@WebMethod:表明该方法是服务要发布的方法,对应属性也可以设置上

@WebResult:设置方法返回值,此处最开始没有设置导致获取不到返回值,因此务必设置上

@WebParam:设置参数信息,指定参数名字和参数所属命名空间,必须设置,不然可能导致参数不能传递进来

说明:实现类上需要贴上注解,方法不需要

说在前头:这里我只是实验了拦截器的定义,没有什么具体的业务 *** 作,想学习的同学请自行研究

此时启动boot项目就可以访问到wsdl文档

第一个就是请求参数无法传递进去,解决办法是设置@WebParam注解的targetNamespace属性值

这个主要就是报非法属性异常

第二个就是无法获取到返回值,解决办法就是需要添加@WebResult注解并设置对应的属性值

这个主要就是在客户端获取返回值哪里报空指针异常

webxml

说明: 这里主要配置了 spring 的配置文件地址, spring 监听器、 CXF 核心控制器。

applicationContextxml

说明:

在 spring 的配置文件中使用 jaxws:endpoint 元素来暴露 WebService ,这里有两种方式:

然后我们就可以将工程部署到 tomcat 中,在浏览器中使用

地址 >

JDK提供了一个wsimportexe的命令,主要是用于将WebService生成客户端代码,然后好调用WebService。

wsimport 是根据JDK160_21及以上的生成本地代码的,它只能解析服务器端的SOAP协议为11,不能解析SOAP12的协议。如果解析SOAP12 将会解析不完全。

用法:前提是已经将JDK配置为了path环境变量 C:\Documents and Settings\Administrator>wsimport -s F:\ -p comclientjdkwsimport >

以上就是关于如何使用CXF将 wsdl 文件变成java文件全部的内容,包括:如何使用CXF将 wsdl 文件变成java文件、spring Boot和CXF构建WebService、SpringBoot|| Spring Cloud 整合cxf开发webService接口服务端-流程步骤等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9471690.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存