cxf webservice生成客户端代码及调用服务端遇到的问题

1、  从网上下载cxf开发的工具 apache-cxf-3.1.4.zip,

解压文件,找到apache-cxf-3.1.4\bin目录,里面包含一个wsdl2java文件

2. 设置环境变量

1、CXF_HOME=F\CXF\apache-cxf-3.1.4.

2、在path后面加上 %CXF_HOME%/bin;

3.再classpath后面加上%CXF_HOME%/lib;

在cmd命令中输入wsdl2java,如果有提示usage,就表明配置成功

 3.利用dos命令,生成客户端代码

 wsdl2java相关命令:

wsdl2java -p com -d D:\\src -all xx.wsdl

-p 指定其wsdl的命名空间,也就是要生成代码的包名:

-d 指定要产生代码所在目录

-client 生成客户端测试web service的代码

-server 生成服务器启动web service的代码

-impl 生成web service的实现代码

-ant 生成build.xml文件

-all 生成所有开始端点代码:types,service proxy,,service interface, server mainline, client mainline, implementation object, and an Ant build.xml file.

生成代码命令为:(根据获取的wsdl文件生成)

wsdl2java -autoNameResolution -frontend jaxws21 -impl -exsh true -p com.bocom.webservice.client -d G:\shengcheng G:\shengcheng\weather.wsdl

其中-p后面是指定生成代码的报名,-d后是生成代码的磁盘位置及wsdl文件存放的位置

生成代码时,jdk版本为jdk1.8.0_131,开始使用的CXF版本是apache-cxf-2.7.6 报“    由于 accessExternalSchema 属性设置的限制而不允许 ‘file‘ 访问, 因此无法读取方案文档 ‘xjc.xsd‘”,错误,百度了下解决方案,说是在jdk目录下的jre\lib下添加一个属性文件jaxp.properties,并写上如下内容javax.xml.accessExternalSchema = all,我试了下问题并没有得到解决,后来更换了apache-cxf-3.1.4版本则生成成功。另外注意java使用cxf调用webservice最少jar包,避免jar包之间的冲突问题。

原文地址:https://www.cnblogs.com/wdxg0103/p/8493413.html

时间: 2024-08-27 03:43:03

cxf webservice生成客户端代码及调用服务端遇到的问题的相关文章

webservice 生成客户端代码

使用 jdk 自带工具 wsimport wsimport -keep http://webservice/url?wsdl

webservice客户端调用服务端异常 —— 远程主机强迫关闭了一个现有的连接

最近遇到一个比较棘手的问题: 问题是这样的,搭建了一个webservice的服务平台,让后提供给多个接口调用,有两家接口调用了同样的一个方法,但是第一家的接口从来没有出现过问题,而另一家就奇怪了,最近总是出现 socket通信中断的情况,客户端报错如下: 调用WebService时找不到方法:doDownloadRecipeInfo.原因:System.Reflection.TargetInvocationException: Exception has been thrown by the t

REST CXF Webservice 客户端调用服务端异常

Exception in thread "main" javax.ws.rs.client.ClientException: java.lang.NoClassDefFoundError: Could not initialize class org.apache.cxf.staxutils.StaxUtils at org.apache.cxf.jaxrs.client.WebClient.handleResponse(WebClient.java:1125) at org.apac

Webservice客户端动态调用服务端功能方法

一.发布WebService服务 方式一:在服务端生成wsdl文件,下方客户端直接引用即可 优点:针对要发布的方法生成一个wsdl文件即可,无需多余配置. 缺点:每次服务端方法发生改变都需要重新生成相应的wsdl文件,不适合于功能需要经常变动的方法. 方式二: 二.Client调用服务端接口  1. 项目架构如下: 2.调用过程: 1)右键点击项目名称-->"NEW"-->"Other"-->输入WEB service client 如下 2)完成

使用CXF将wsdl文件生成客户端代码命令

1.先下载cxf包 http://cxf.apache.org/download.html,现在cxf包.(下载资源就有) 2.解压缩包,通过cmd命令进入到bin目录下(cd cxf\bin的路径) cxf生成客户端代码 3.使用wsdl2java命令生成客户端代码 在命令行执行wsdl2java -p org.logink.ws -d f:\logink\src -all E:\wsdl3.1-credit\LogisticsCreditService\LogisticsCreditServ

Atitit 动态调用webservice与客户端代理方式调用

方式1: 使用call.invoke  直接调用WSDL,缺点:麻烦,不推荐--特别是JAVA调用.NET的WS时,会有不少的问题需要解决. 方式2: 生成测试STUB--此种方法更快捷.如果用.NET开发WS客户端,就是用的这种方式-- 客户端调用web service方法首先要使用cxf的wsdl2java命令工具生成服务代理类,如:wsdl2java -p com.charles.client http://localhost:8080/queryUser?wsdl具体命令格式可使用wsd

java实现WebService 以及客户端不同的调用方式

java 实现WebService 以及不同的调用方式 webservice:    就是应用程序之间跨语言的调用    wwww.webxml.com.cn    1.xml    2.    wsdl: webservice description language web服务描述语言        通过xml格式说明调用的地址方法如何调用,可以看错webservice的说明书        3.soap simple object access protoacl (简单对象访问协议)   

用soapUI生成客户端代码

一.用soapUI生成客户端代码 方法一: 1.第一步,打开soapUI,菜单栏里的tools,选择apache CXF,如图, 2.第二步,WSDL:写上你连接服务端的地址,OutputDirectory:选择你生成的客户端的保存路径,package:选择你的包的名字.再点击Tools,如图所示: 3.如上图配置,在点击ok,上一步那个图,点击generate即可. 方法二: 1.选择File,点击new soapUI project,如下图所示,project Name :是你链接服务端的名

.NetCore2.1 WebAPI 根据swagger.json自动生成客户端代码

前言 上一篇博客中我们可以得知通过Swagger插件可以很方便的提供给接口开发者在线调试,但是实际上Swagger附带的功能还有很多, 比如使用NSwag生成客户端调用代码,进一步解放接口开发者. NSwag NSwag是一个发布在GitHub上的开源项目,它可以根据Swagger说明页上的swagger.json文件生成C#.TypeScript客户端代码. NSwag的项目地址:https://github.com/RSuter/NSwag Nswag提供4种代码生成方法 1.使用 NSwa