WSDL文件:参考附件OrderProcess.wsdl
1. WSDL元素与Java Component之间的映射关系
(1) <wsdl:definitions> attribute:targetNamespace --> Java package
(2) <wsdl:portType> --> Java Service Endpoint Interface (SEI)
(3) <wsdl:portType> child Element: <wsdl:operation> --> Java methods
(4) <wsdl:service> --> Service class
(5) <wsdl:message> --> Service operation parameters
2. WSDL2Java Tool
wsdl2java -impl -server -client -d generate OrderProcess.wsdl
参数说明:
-ant:生成ANT build.xml
-impl:生成服务实现类
-server:生成Server组件,用于启动服务和发布服务
-client:生成Client组件,用于测试服务
-d:生成代码的路径
例如:wsdl2java -impl -server -d generate OrderProcess.wsdl
wsdl2java -client -d src http://www.ignyte.com/webservices/ignyte.whatsshowing.webservice/moviefunctions.asmx?wsdl
该工具的其他可选参数可通过添加-?,或-h,或-help的方式查看。
也可直接查看官方文档:https://cwiki.apache.org/CXF20DOC/wsdl-to-java.html
3. 通过WSDL2Java Tool生成的Client调用服务器端时发生的异常
(1) Can not initialize the default wsdl from...
产生原因:WSDL路径不正确
解决方法:将WSDL文件也考到项目java文件同级中
(2) Error: Two classes have the same XML type name ....
Use @XmlType.name and @XmlType.namespace to assign different names to them...
产生原因:此错误指具有同名的类或 @XMLType.name 值,但它们存在于不同的 Java 包中。
解决方法:@XML.Type.namespace类添加至现有的@XMLType注释以区分XML类型。
例如:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "processOrder", propOrder = {
"arg0"
},namespace="http://generate/sample/pcdp/org/processorder/")
public class ProcessOrder {
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "processOrderResponse", propOrder = {
"_return"
},namespace="http://generate/sample/pcdp/org/processorderreponse/")
public class ProcessOrderResponse {
}
4. WSDL文件有效性验证
wsdlvalidator
http://localhost:9082/MovieService?wsdl
常用的WSDL文件操作工具客查看安装目录下的bin目录下的脚本。
分享到:
相关推荐
7. **CXF工具**:CXF提供了一些工具,如wsdl2java,可以从WSDL生成Java代码,反之亦然,用java2wsdl可以从Java接口生成WSDL。这些工具极大地简化了Contract-First开发流程。 8. **部署与测试**:生成服务实现后,...
Spring框架提供了Spring Web Services模块,用于构建基于合同优先(Contract-First)的SOAP服务。开发者可以使用XSD(XML Schema Definition)来定义服务接口,然后使用Spring的工具生成服务实现和客户端代理。 7....
### Spring WebService ...通过以上内容可以看出,Spring WebService 1.5.1 版本为开发者提供了一个强大而灵活的工具集,不仅支持 Contract-First 方法,还提供了丰富的功能来帮助开发者构建高质量的 Web Service。
Spring-WS提供了基于XML Schema的契约优先(Contract-First)方法,意味着我们先定义服务接口的XML Schema,然后根据Schema生成Java代码。 1. **设置项目环境**:首先,你需要一个包含Spring和Spring-WS的开发环境...
通过对Java Web服务的概念、开发流程及具体实践案例的学习,开发者可以更好地理解和运用这项技术。随着云计算和微服务架构的兴起,Java Web服务在企业级应用开发中的地位将更加重要。希望本教程能帮助读者在Java Web...
1. **契约优先(Contract-First)**:这种方法从WSDL(Web Services Description Language)契约开始,根据契约生成相应的Java类以实现服务。这要求开发者对WSDL和XML Schema Definition(XSD)有深入的理解。 2. *...
- 使用CXF的工具,如wsdl2java,可以从接口生成WSDL(Web Service Description Language),或者反之,从WSDL生成Java代码。 3. **部署与配置** - CXF支持多种部署方式,如在Servlet容器(如Tomcat)中,或者独立...
合约优先(Contract-First)是一种开发Web服务的方法论,其中先定义Web服务的接口(通常是通过XSD和WSDL),然后根据这些定义生成代码。这种方法可以避免对象/XML阻抗不匹配的问题,提高代码的可重用性、性能和版本...
Spring-WS是一个基于XML的SOAP(Simple Object Access Protocol)Web服务开发框架,它强调契约优先(Contract-First)的开发方式,这意味着先定义WSDL(Web Services Description Language)文件,再根据WSDL生成...
在开发过程中,使用工具如 Apache CXF 或 Eclipse 的 Web Service 插件可以帮助生成 WSDL、Java 类和客户端代理。这些工具简化了开发流程,使得开发人员可以专注于业务逻辑而不是底层通信细节。 **8. 测试和调试** ...
它提供了创建契约优先(contract-first)的服务的方法,允许开发者从WSDL开始,然后生成相应的Java代码。 3. **Hibernate**:Hibernate是Java领域的一个持久层框架,它简化了数据库操作,使开发者能够通过对象关系...
接着,通过CXF的代码第一(Contract First)或服务第一(Service First)方式,自动生成相应的WSDL(Web服务描述语言)文件。服务端的实现类会覆盖接口中的方法,提供实际的功能。 2. **客户端开发**: 对于Android端...
### Spring WebService (E): 合同优先与合同滞后开发风格详解 #### 一、引言 在创建Web服务的过程中,有两种主要的开发方法:**合同滞后(Contract Last)**和**合同优先(Contract First)**。这两种方法的核心...
CXF允许开发者选择编码风格,如Java首先(Contract First)或代码优先(Code First),并提供了丰富的工具和API来简化服务的创建、部署和测试。 在**Spring**框架中,我们可以利用其强大的依赖注入(Dependency ...
使用CXF的代码第一(Code First)或者合同第一(Contract First)方法,根据你的接口或WSDL文件生成服务端点。 5. **部署服务**:将你的服务部署到一个支持CXF的服务器上,如Tomcat或Jetty。CXF提供了多种方式来...
Spring-WS是Spring针对XML Web服务的轻量级解决方案,它基于合同优先(contract-first)的方法,即先定义服务接口的WSDL(Web Service Description Language)文件,然后生成相应的Java代码。而Apache CXF则是一个...
1. **Spring Web Services**:这是一个专门用于创建 SOAP Web 服务的模块,支持WSDL-first(基于WSDL的契约优先)方法,允许你定义服务接口并自动生成WSDL。 2. **Spring MVC**:虽然主要是为构建RESTful API设计的...
它支持WSDL-first(基于WSDL的契约驱动)和契约即代码(contract-first)的开发方式。 3. **RESTful API**:Spring Boot也便于创建RESTful服务,可以使用Spring MVC或者Spring WebFlux框架。RESTful API设计遵循...
3. **代码优先与契约优先**:开发者可以选择"代码优先"(Code First)的方式,从Java类生成WSDL(Web Service Description Language),或者"契约优先"(Contract First)的方式,从WSDL定义开始,自动生成Java代码...