cxf2.7.15-作为webService客户端遇到的问题

1、Exception in thread "main" java.lang.NoSuchFieldError: QUALIFIED

at org.apache.cxf.service.model.SchemaInfo.setSchema(SchemaInfo.java:146)

at org.apache.cxf.wsdl11.SchemaUtil.extractSchema(SchemaUtil.java:143)

at org.apache.cxf.wsdl11.SchemaUtil.getSchemas(SchemaUtil.java:73)

at org.apache.cxf.wsdl11.SchemaUtil.getSchemas(SchemaUtil.java:65)

at org.apache.cxf.wsdl11.SchemaUtil.getSchemas(SchemaUtil.java:60)

at org.apache.cxf.wsdl11.WSDLServiceBuilder.getSchemas(WSDLServiceBuilder.java:372)

at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:339)

at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:196)

at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:172)

at org.apache.cxf.wsdl11.WSDLServiceFactory.create(WSDLServiceFactory.java:125)

at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:298)

at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:240)

at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:233)

at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:188)

at com.ruijie.test.WebServiceTest.testService(WebServiceTest.java:170)

at com.ruijie.test.WebServiceTest.main(WebServiceTest.java:66)

以上的异常是由于采用的jar包与cxf版本不匹配导致的。原来使用的是XmlSchema-1.4.7.jar,将其删除修改为:xmlschema-core-2.1.0.jar

2、Exception in thread "main" java.lang.NoSuchMethodError: org.apache.ws.security.util.WSSecurityUtil.decodeAction(Ljava/lang/String;Ljava/util/List;Lorg/apache/ws/security/WSSConfig;)I

at org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor$WSS4JOutInterceptorInternal.handleMessage(WSS4JOutInterceptor.java:200)

at org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor$WSS4JOutInterceptorInternal.handleMessage(WSS4JOutInterceptor.java:141)

at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)

at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:572)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:481)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:382)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:335)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:355)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:341)

at com.ruijie.test.WebServiceTest.testService(WebServiceTest.java:190)

at com.ruijie.test.WebServiceTest.main(WebServiceTest.java:65)

以上的原因是由于(CXF 2.3.3 needs WSS4J 1.5.x. CXF 2.4.x uses WSS4J 1.6.x.(转)),cxf2.7.15使用的wss4j应该是用从Apache网站下载下来的压缩包里面的版本。

客户端依赖的jar包,如下:

时间: 2024-10-11 23:39:49

cxf2.7.15-作为webService客户端遇到的问题的相关文章

Java6 WebService客户端封装

在开发WebService客户端应用的时候,面临的最大挑战是事先不知道服务端要部署在哪里,端口是什么,因此Hello World的例子并不适合生产环境,还需要进一步的做改进. 改进的总体思想是将静态的部分替换为动态的,也就是说,将服务的ip和端口,做成动态参数,然后根据服务端的部署灵活改变这些配置参数. 下面针对前面的例子对客户端做一个改进. 1.写WebService服务的配置参数文件 wscfg.properties #Java6WS服务的配置 Java6WS.wsip=192.168.14

webservice客户端开发

一.根据约定条件生成客户端 1.需要axis.jar包 2.调用 import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis.encoding.XMLType; public static void main(String[] args)(String param1, Date param2, double param3) { String url = "htt

Eclipse内嵌的webservice客户端

概述 Eclipse内嵌的webservice客户端,可用于发起请求,查看结果,展示请求和响应的报文. 详情 在Java EE视图,可以看到内嵌的webservice客户端浏览器登陆按钮 点击打开浏览器,按照图示依次点击,输入wsdl的url,点击go 在下图中点击add链接,会打开测试窗口 在下图中,输入参数,点击go,可以在Status窗口看到请求结果 为方便查看,双击Status标题栏,可以最大化/还原Status窗口:点击Source链接,可以查看请求/响应的报文 报文是xml格式的so

webservice客户端工具

public static Object invokeWebService(String namespaces,String url, String method, Object[] params, Object[] paramNames) { Object result = null; try { Service service = new Service(); Call call = (Call) service.createCall(); call.setOperationName(new

【webservice】使用命令wsimport构建WebService客户端

wsimport命令介绍 在JDK的bin文件夹中,有一个wsimport.exe,这个工具依据wsdl文件生成相应的类文件,然后用这些类文件,就可以像调用本地的类一样调用WebService提供的方.该工具可以用于非Java的服务器,如:用C#编写的WebService,通过wsimport则生成Java的客户端实现.对于命令的使用方法,我们以开放的中文简体字与繁体字转换Web Service接口为例,如下: 在命令提示符中使用如下命令: wsimport -keep -p com.zhj2f

axis在eclipse 中生成webservice客户端

可以使用axis提供的Java2WSDL功能生成所要发布类的 WSDL,步骤如下: 1.在你的eclipse或myeclipse的项目中找到你引 的 axis.jar包,打开它,在其里面找到 org.apache.axis.wsdl下面的Java2WSDL类,然后以 Java application方式运行一下它 2.打开菜单栏"run -->"Debug  ,在弹出框的左边找到"Java Application 项,在其里面你会看 到"Java2WSDL 子

xfire实现webservice客户端之测试关注点

日前的工作接触到很多系统间的Webservice调用,这里想谈谈基于spring+xfire实现的webservice的客户端踩过的一些坑,需要测试关注的点. xFire的配置项 在spring中实现ws的client的客户端还是相对比较容易的,只需要编写一个和webservice接口一致的接口类即可.在xml的配置中需要关注下面几个参数: http.timeout : 响应超时,即服务端接收到ws请求,但在处理请求时,长时间没有返回,超时 http.connection.timeout : 连

webservice客户端生成方式

1.idea中File-new-Project 在弹出框中选择java选项,选择WebServices Client, 2.选择Use library:   在本地中找到相关的lib包使用 (1)axis-1.0-SNAPSHOT.jar (2)commons-discovery-0.2.jar (3)commons-logging-1.1.1.jar (4)jaxrpc-1.0-SNAPSHOT.jar (5)log4j-1.2.17.jar (6)saaj-1.0-SNAPSHOT.jar

cxf 生成 webservice 客户端

一.cxf 生成 webservice 客户端 1.接口路径 http://localhost:8080/cxfserver/webservice/userWS?wsdl 2.进入你需要放置 webservice 客户端代码的包,进入这个包所在的系统路径,进入 cmd 3.执行命令 wsimport -keep http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl 或者 wsdl2java -client http://ws.webxml