原文链接:http://damonshell.sinaapp.com/?p=81
今天在调用接口时,报了个错误,意思为两个类调用了同一个XML TYPE;
Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 4 counts of IllegalAnnotationExceptions Two classes have the same XML type name "{http://ws.check4AChannel.channel.asiainfo.com/}createCCMappingResponse". Use @XmlType.name and @XmlType.namespace to assign different names to them. this problem is related to the following location: at com.boco.iam.module_bj.application.utils.webservice.channel.check4achannel.ws.jaxws_asm.CreateCCMappingResponse this problem is related to the following location: at com.boco.iam.module_bj.application.utils.webservice.channel.check4achannel.ws.CreateCCMappingResponse at public javax.xml.bind.JAXBElement com.boco.iam.module_bj.application.utils.webservice.channel.check4achannel.ws.ObjectFactory.createCreateCCMappingResponse(com.boco.iam.module_bj.application.utils.webservice.channel.check4achannel.ws.CreateCCMappingResponse) at com.boco.iam.module_bj.application.utils.webservice.channel.check4achannel.ws.ObjectFactory Two classes have the same XML type name "{http://ws.check4AChannel.channel.asiainfo.com/}check4AChannel". Use @XmlType.name and @XmlType.namespace to assign different names to them.
经过一番查询,觉得是服务端在生成WSDL时,将相应类的命名空间都默认为同一个了,因此网上才有了修改命名空间的建议;即在相应类(即客户端调用的java实体类)中加入@XmlType
(namespace=”http://namespace.thats.not.the.same.as.the.generated”),即改变响应类的命名空间。
@XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "createCCMapping", propOrder = { "channelCode", "channelType", "crmCode", "doneType" },namespace="http://namespace.thats.not.the.same.as.the.generated") public class CreateCCMapping { }
另外,还有一种修改相应类的名称,若如此修改,可能会影响服务端调用,建议修改命名空间。
相关推荐
cxf生成客户端 服务端代码
### CXF生成WS客户端代码详解 #### 一、概述 CXF(Camel-XML-Fuery)是一款开源框架,支持开发和维护基于SOAP、REST等协议的服务。它提供了强大的工具集来简化服务的创建、发布及消费过程。其中,“wsdl2java”...
本篇文章将深入探讨如何使用CXF作为客户端框架,通过MyEclipse集成开发环境自动生成Web服务客户端。 首先,我们要理解CXF的基本概念。CXF,全称“CXF:Confusing eXtensible Framework”,它提供了多种方式来创建...
在标题和描述中提到的“cxf生成webservice客户端”是指利用CXF的工具从WSDL文件自动生成Java客户端代码,以便于调用Web服务。 生成Web服务客户端的步骤如下: 1. **获取WSDL文件**:Web服务通常会公开一个WSDL文件...
总之,使用CXF客户端调用Axis服务端涉及多个步骤,包括生成客户端代码、配置客户端、创建服务代理以及进行实际调用。理解这些步骤并正确实现它们是成功通信的关键。在实际开发过程中,可能会遇到各种问题,需要耐心...
以下是使用CXF生成动态客户端的步骤: 1. **获取WSDL**:首先,你需要知道服务的WSDL URL,这是定义Web服务接口、操作、消息和绑定的规范。你可以从服务提供商那里获得或者在线查找。 2. **创建服务代理**:使用...
标题 "cxf客户端所需jar包-4个" 暗示了这四个JAR文件是Apache CXF框架中用于构建客户端应用程序的基本组件,使得开发者能够方便地调用Web服务。Apache CXF是一个开源的Java框架,它允许创建和消费Web服务,支持多种...
使用cxf wsdl2java生成webservice客户端命令
3. **生成客户端代码**:如果已经有了服务端的WSDL(Web Service Definition Language)文件,我们可以使用CXF的WSDL2Java工具生成客户端代码。在命令行中,执行如下命令: ``` wsdl2java -d src/main/java ...
标题 "cxf3.1.1客户端需要最少的JAR" 涉及到的是Apache CXF框架的一个特定版本——3.1.1,用于构建轻量级的客户端应用程序。Apache CXF是一个开源服务框架,它允许开发人员通过SOAP、RESTful、XML/HTTP等多种协议...
在本场景中,我们将探讨如何利用CXF来生成一个基于ONVIF协议的客户端。 首先,了解ONVIF协议是至关重要的。ONVIF协议定义了多种服务,如媒体服务、设备管理服务和事件服务,这些服务通过SOAP(简单对象访问协议)...
带详细解决方案说明文档,提供三种解决方式,另外包含stax2-api.jar,stax2-api-source.jar,woodstox-core-asl-4.4.1.jar,stax-ex.jar,wstx-asl-3.2.9.jar等jar文件,亲测有效。
【CXF客户端生成器】是基于Apache CXF框架的一个实用工具,主要用于自动生成Java客户端代码,使得开发者可以方便地调用Web服务。Apache CXF是一个开源的SOAP和RESTful Web服务框架,它允许开发者创建和消费各种Web...
在IT行业中,Spring Boot是一个非常流行的...4. 使用CXF生成客户端代码。 5. 在客户端应用中创建代理对象并调用服务。 通过这种方式,你可以构建安全、可靠的Web服务,并在Spring Boot环境中轻松地进行客户端调用。
- 生成客户端代码:使用CXF的WSDL2Java工具,根据服务的WSDL(Web服务描述语言)生成客户端代码。 - 创建服务代理:实例化生成的客户端类,创建服务代理对象。 - 调用服务:通过代理对象调用服务方法,传递参数并...
这个压缩包"apache-cxf-2.7.7以及cxf客户端所需要的jar包"包含了Apache CXF 2.7.7版本及其客户端运行所需的库文件。这些jar包对于创建、部署和消费Web服务至关重要,特别是对于使用命令行生成Web服务客户端的开发者...
CXF框架是Apache组织开发的一款开源的Web服务框架,它支持SOAP、RESTful等多种Web服务标准,同时也提供了客户端和服务端的实现。在使用CXF框架进行Web服务客户端调用时,需要依赖一系列的JAR包来确保功能的正常运行...
在IDEA中创建Maven项目时,我们需要配置pom.xml文件,引入Spring和CXF的相关依赖。对于Spring,通常会包含`spring-context`, `spring-web`, `spring-aop`等模块;而对于CXF,需要引入如`cxf-rt-frontend-jaxws`, `...
2. **cxf-rt-frontend-jaxws.jar**:用于处理JAX-WS(Java API for XML Web Services)相关的功能,如WSDL(Web Service Description Language)处理、SOAP消息生成等。 3. **cxf-rt-transports-http.jar**:提供...