使用cxf wsdl2java或javax wsimport工具的时候,可能会遇到关于生成的Response类文件名冲突的问题
WSDLToJava Error: Thrown by JAXB : A class/interface with the same name "***" is already in use. Use a class customization to resolve this conflict.
目前可选择的方案:
1.使用-autoNameResolution自动处理
wsdl2java -autoNameResolution http://hello.joy2everyone.com/yourWebService?wsdl
or
wsimport -p com.test.client -keep http://hello.joy2everyone.com/yourWebService?wsdl -B-XautoNameResolution
我所经历的默认环境下是在同文件名上增加数字编号以命名Response文件,
**Response.java, **Response2.java,这种情况不是很好
2.使用自定义bindings,详细可看
sun webservice文档
我发现,其实可以避免这个冲突的发生,
例如:
public interface ValidateCCService
@WebMethod
@WebResult(name = "response")
public ValidateCCResponse validateCC(@WebParam(name = "request")ValidateCCRequest request);
这个情况下定义的方法名,如果使用工具生成客户端代码,很可能存在Response冲突,因为定义的wsdl中会有一个关于接口方法的message
<wsdl:message name="validateCCResponse">
</wsdl:message>
方法名定义的message与接口定义返回的ValidateCCResponse,在工具生成客户端代码时就会产生命名冲突。
但是通过更改接口方法名为:
public interface ValidateCCService
@WebMethod
@WebResult(name = "response")
public ValidateCCResponse validate(@WebParam(name = "request")ValidateCCRequest request);
即可解决该冲突,
以上为自己的经验,在此分享下,做下笔记,也希望对大家有帮助,如有错误或更好打方法的,大家分享下!
分享到:
相关推荐
Java WebService 简单实例 http://blog.csdn.net/kingmax54212008/article/details/49764401 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要的重复操作。 一、准备工作(以下为本实例...
2. **调用服务方法**:通过SoapClient对象,可以像调用本地函数一样调用Java Web服务的方法。例如,如果Java服务有一个名为`calculate`的方法,我们可以这样调用: ```php $result = $soapClient->calculate($...
2. 加载WSDL:使用`soap_wsdl Binding Style`加载WSDL文件,例如:`soap->wsdl = "service.wsdl";` 3. 调用Web服务:通过调用生成的函数,如`serviceSoap::method_name(args)`,传递必要的参数。 4. 错误处理:检查...
在Java环境中,可以通过使用如Apache CXF或Axis2等框架来创建和部署Web服务。 在QT环境下调用Java Web服务,首先需要了解QT的网络编程库,特别是QNetworkAccessManager和QNetworkReply这两个关键类。...
Java WebService 简单实例 http://blog.csdn.net/kingmax54212008/article/details/49764401 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要的重复操作。 一、准备工作(以下为本实例...
Java Web Service 是一种基于WSDL(Web服务描述语言)和SOAP(简单对象访问协议)的规范,用于构建可互操作的、跨平台的网络服务。Apache CXF 是一个开源的Java框架,它允许开发者创建和消费Web服务。下面将详细解释...
java调用net开发的webservice实例下载 问题终于解决了,之前加上?wsdl的时候报如下错: - I/O exception (java.net.ConnectException) caught when processing request: Connection timed out: connect - Retrying ...
2. 在项目中新建一个包(例如edu.sjtu.webservice),并在其中创建`CalculateService.java`,这个类将包含webService的业务逻辑。例如: ```java package edu.sjtu.webservice; public class CalculateService { ...
在本文中,我们将探讨如何使用PHP调用由JAVA编写的WebService。这涉及到两个主要部分:服务端(JAVA)和客户端(PHP)。让我们深入了解每个部分。 首先,服务端使用JAVA编程语言,具体是AXIS-1.4作为SOAP(简单对象...
- 使用`wsdl2java.bat`脚本自动生成客户端代码。该脚本位于`axis2-1.4\bin`目录下,命令格式如下: ```bash wsdl2java.bat -uri http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl -p ws...
同时,CXF提供了一系列工具,如wsdl2java(WSDL到Java代码的生成器)和cxf-codegen-plugin(Maven插件,用于代码生成)。 ### 7. 集成与部署 CXF可轻松与Spring框架集成,通过Spring配置文件管理服务和客户端实例。...
在本文中,我们将探讨如何使用jQuery来访问遵循SOAP协议的WebService,特别地是与Java的Xfire框架集成的Web服务。通常,许多示例都使用JSON格式传递参数,但请注意,JSON并不适用于所有类型的Web服务,尤其是那些...
接着,`ajaxRequest()`函数创建了一个对象`op`,包含了请求完成后的处理函数`showResponse`和错误处理函数`showError`。 `WebService`类是处理调用的核心。它包含了Web服务的URL、方法名以及请求选项。在`...
2. J2EE(Java 2 Platform, Enterprise Edition):Java平台的企业版,用于构建分布式、多层的企业级应用程序,包括Web服务。 3. WebService:基于标准的、平台无关的接口,允许不同系统间进行数据交换。 二、C#...
JAX-WS还提供了工具,如wsimport,可以从WSDL生成Java客户端存根类,使得调用Web服务就像调用本地方法一样简单。例如: ```bash wsimport -keep -verbose -s src -p ...
JAX-WS (Java API for XML Web Services) 是Java平台上的WebService实现标准之一,它提供了一种简单的方式来创建和消费Web服务。JAX-WS支持两种主要的服务端点:SOAP Web服务和RESTful Web服务。在使用JAX-WS时,...
2. **BlazeDS**:BlazeDS是Adobe提供的一个免费的服务器端组件,它可以将Java数据和消息服务暴露给Flex客户端。它支持AMF协议,使Flex3应用能够轻松地与Java后端进行双向通信。 3. **HTTP Service**:除了AMF之外,...