对于 WSDL 解析,有如下 3 种基本方法:
1. 基于 DOM 的方法:由于 WSDL 文件从本质上来讲是一个 XML 文件,现有的 DOM API(例如 Xerces)能够用来进行解析或者构建 WSDL 文件。这种方法是最通用的,但同时也是处理 XML 文件最费力的方法。尽管从技术上来讲是可行的,基于 DOM API 的实现对于代码敏感且容易出错。同时,这一解决方法迫使您不得不处理两个完全不同的模型:DOM 和 WSDL 模型。
2. 基于特定 API 的方法: 利用 IBM 的 WSDL4J 来实现 WSDL 操作就是一个例子。这种方法倾向于 WSDL 模型,它允许您直接操作 WSDL 。这种方法的不足在于您不仅要处理 WSDL 本身,还要处理 WS-Addressing、WS-Policy 和扩展脚本。它同时还使用那些尚未成为标准的事物,这就意味着现有的一些 API 将会改变。在当前,一些试验性的 API 支持 WS-Addressing 的当前版本,但对于 WS-Policy 和扩展脚本却根本不支持。这就意味着这种基于特定 API 的方法不得不掺杂一定数量的 DOM处理。
3. 基于 Java 生成的方法:因为描述我们实现的所有脚本都是标准的 XML 脚本,因此可以生成对应于这些脚本的 Java 类(支持 XML 编组和分组)。在这种情况下,WSDL 文件直接转化为 Java 类,然后作为 Java 对象来管理。考虑到标准在不断进化这一事实,定制性的扩展将是很有必要。由于它的灵活性和对变化的适应性,这一方法最适合实现我们的解决方案。
对于WSDL模型目前有以下两种:
1. JSR110规范,“Java APIs For WSDL”,是Java的WSDL1.1建模规范。
目前的实现是WSDL4J。最新版本为WSDL4J V1.6.2(2006-11-08)。
The Web Services Description Language for Java Toolkit (WSDL4J) allows the creation, representation, and manipulation of WSDL documents. Is the reference implementation for JSR110 'JWSDL'
网址为:http://sourceforge.net/projects/wsdl4j/
2. Apache Woden 开源项目。对WSDL2.0规范的建模。
最新版本为 Woden V1.0M7b(2007-08-03)
The Woden project is an incubation subproject of the Apache Web Services Project to develop a Java class library for reading, manipulating, creating and writing WSDL documents, initially to support WSDL 2.0 but with the longer term aim of supporting past, present and future versions of WSDL.
There are two main deliverables: an API and an implementation. The Woden API will consist of a set of Java interfaces. The WSDL 2.0-specific portion of the Woden API will conform to the W3C WSDL 2.0 specification. The implementation will be a high performance implementation directly usable in other Apache projects such as Axis2.
网址是:http://ws.apache.org/woden/index.html
相关推荐
### 基于UML的构件建模:深入解析与应用 #### 一、UML2.0在构件建模中的角色与价值 UML2.0,即统一建模语言的第二个版本,是对前一版本的重要升级,旨在提供更加强大、灵活的工具来描述和构建软件系统。在基于构件...
【WSDL与BPEL的关系】 WSDL,即Web Services Description Language,是用于描述Web服务接口和消息交换模式的语言。WSDL文件定义了服务的位置、服务提供的操作以及这些操作的输入和输出消息格式。然而,WSDL不涉及...
9. `cxf-rt-wsdl-3.1.1.jar`:包含了CXF对WSDL的处理能力,用于解析和生成WSDL文档,是服务建模和部署的基础。 这些JAR文件构成了一个最小化的CXF客户端环境,允许开发者构建能够与符合WS-*规范的Web服务进行通信的...
5. **服务消费**:消费者通过查询服务注册中心,找到满足其需求的语义Web服务,并解析WSDL以理解服务的使用方式。 通过语义Web服务,开发者可以构建更加智能和自适应的Web应用程序,这些应用程序能够自动发现、组合...
- **XML与Web Services**:掌握XML解析、SOAP协议、WSDL文件的使用。 - **框架与工具**:如Spring、Hibernate、Struts等,了解其在项目中的作用与集成方式。 - **性能调优与测试**:分析并解决性能瓶颈,执行单元...
- XML与JSON:解析和生成XML与JSON数据格式,它们在SOA中的重要角色。 4. **服务集成** - ESB(企业服务总线):理解ESB在SOA中的角色,如何处理消息路由、转换和中介。 - BPEL(业务流程执行语言):学习如何...
XMI(eXtensible Modeling Infrastructure)是一种XML格式,用于表示UML(统一建模语言)和其他元数据模型。在SOAP上下文中,XMISerializer可能是将Java对象转换为符合SOAP规范的XML表示的关键工具。 "xml"标签则...
10. **wsdl4j-1.5.1.jar** - WSDL4J是一个用于处理WSDL(Web服务描述语言)的Java库,用于解析和生成WSDL文档。 综上所述,这个教程涵盖了使用JBPM集成Spring框架、Struts、MyFaces Tomahawk等技术,处理XML数据,...
- **XML与JSP集成**:通过JSP可以解析、生成和操作XML文档,实现动态数据的处理和呈现。 - **SAX与DOM**:SAX(Simple API for XML)是一种基于事件的XML解析方式,适用于大文件;DOM(Document Object Model)则是...
1. **服务建模与设计**:了解如何将业务流程分解为可复用的服务,以及如何使用UML(统一建模语言)或其他建模工具来表示这些服务。 2. **服务接口设计**:理解WSDL(Web服务描述语言)和SOAP(简单对象访问协议)的...
5. **客户端调用**:通过解析WSDL文件,客户端程序可以自动调用远程服务。 #### 结论 综上所述,通过采用XML、Web服务和SOAP等技术,可以有效地解决图书信息系统中的异构和分布式问题,实现信息资源的高效整合与...
3. **工作流建模工具与工作流引擎平台WSWF**:工作流建模工具允许流程开发人员定义和设计业务流程,而工作流引擎(如WSWF)则负责执行这些流程。它们结合使用,可以自动化复杂的业务逻辑,确保服务之间的协调和流程...
- **工具支持**:CXF提供了一系列工具,支持JavaBean、Web服务与WSDL之间的转换,并且与Maven、Ant和Spring等工具无缝集成。 - **RESTful服务支持**:除了传统的SOAP服务外,CXF还支持RESTful服务,并且内置了JAX-RS...
工作流定义文件(WSDL、XML格式)描述了流程的结构和规则。系统通过解析这些文件,动态生成可执行的流程实例。执行过程中,系统根据条件分支、并发控制等规则,自动分配任务并更新流程状态。 6. **任务管理与协作*...
#### 一、开发技术:语言与平台 1. **JavaBean组件模型特点** - JavaBean是一种基于Java的组件模型,主要用于封装可重用的业务逻辑和数据处理功能。 - **封装性**:JavaBean通过公开getter和setter方法来提供对...
3. **WSDL工具**:CXF包含了从Java类生成WSDL(Web Service Description Language)文档,以及从WSDL反向生成Java代码的工具,这有助于服务的建模和文档化。 4. **CXF客户端**:压缩包可能包含了CXF客户端库,这些...
17. **Web Service**:通过SOAP消息在不同系统间交换数据,UDDI提供服务目录,WSDL描述服务接口,JAXP和JAXM处理XML解析和映射。 18. **BS与CS模式**:浏览器/服务器(BS)模式基于Web,客户端轻量级;客户机/...
《深入解析BPEL规范2.0:迈向统一的业务流程管理标准》 在IT行业的不断发展中,业务流程执行语言(BPEL)作为一种用于建模可执行业务流程的语言,自其诞生以来就受到了广泛关注。BPEL 2.0规范的发布,标志着业务...
Java面试综合知识涵盖了许多核心的Java概念和技术,包括J2EE、集合框架、异常处理、EJB与Java Bean的区别、多态与继承、抽象类与接口、网络编程、Servlet、XML解析、数据库查询、排序算法、JSP特性、应用服务器与Web...