新手教程
(详细内容请下载附件)
阅读本文前提:
假设您已经阅读了我另外一篇不成熟的文章<< eclipse3.3+CXF2.1配置 webservice开发环境>>
地址:http://zhaoyl.iteye.com/admin/blogs/183779
本文目标:
1、进一步熟悉使用soa tools
2、使用soa tool发布已经生成的wsdl,向外界提供远程服务
3、使用wsdl first project方式 ,根据服务提供商发布的wsdl,调用远程服务
4、code first 和wsdl first 区别及code first带来的问题
后续文章目标:
1、spring下使用cxf发布服务(服务端)并调用服务接口(客户端)
2、wsdl first 并介绍wsdl编写规则
声 明:
本文为我手写而成,未抄袭其他人之作品等。如确实有雷同,请告知
文中若有错误之处,请来信告知
如您转载,请保留作者信息,致谢
联系方式: QQ:252574345
MSN:lele_love_lomboz@hotmail.com
第一部分 发布服务并使用客户端调用
一.上篇文章续
1、项目目录如下
可以看到,我们已经生成了wsdl。此时,只是定义业务接口暴露给外界,而并未提供接口的实现,即:服务将要提供的功能还没有实现。
Demo.wsdl
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="HelloService" targetNamespace="http://webservice.zhaoyl.org/" xmlns:tns="http://webservice.zhaoyl.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://webservice.zhaoyl.org/" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://webservice.zhaoyl.org/">
<xs:element name="sayHello" type="tns:sayHello"/>
<xs:element name="sayHelloResponse" type="tns:sayHelloResponse"/>
<xs:complexType name="sayHello">
<xs:sequence/>
</xs:complexType>
<xs:complexType name="sayHelloResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="sayHello">
<wsdl:part name="parameters" element="tns:sayHello">
</wsdl:part>
</wsdl:message>
<wsdl:message name="sayHelloResponse">
<wsdl:part name="parameters" element="tns:sayHelloResponse">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="Hello">
<wsdl:operation name="sayHello">
<wsdl:input name="sayHello" message="tns:sayHello">
</wsdl:input>
<wsdl:output name="sayHelloResponse" message="tns:sayHelloResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="HelloServiceSoapBinding" type="tns:Hello">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="sayHello">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="sayHello">
<soap:body use="literal"/>
分享到:
相关推荐
在SOAP模式下,CXF通过WSDL文件解析服务接口,生成客户端和服务端的代理类,使得开发者可以像调用本地方法一样调用远程服务。 1. **SOAP与WSDL**: - **SOAP**:SOAP是一种XML格式的消息传递协议,用于在Web上交换...
在这种情况下,寻找可靠的第三方资源获取CXF的jar包是必要的。CXF的jar包包含了运行和开发基于CXF的Web服务所需的所有类和库,包括核心服务、WS-*协议实现、数据绑定、以及HTTP传输等组件。 在压缩包“cxf3.1.1”中...
CXF提供了基于WSDL(Web Service Definition Language)的工具,可以自动生成这些代理类。首先,获取服务的WSDL URL(通常是服务URL加上`.wsdl`后缀),然后使用CXF的 wsdl2java 命令行工具: ```bash mvn cxf-...
1. **服务提供者**:如果你需要发布自己的Web服务,CXF提供了强大的工具和API,如WSDL(Web Service Description Language)第一和第二版本的支持,允许你从Java接口自动生成WSDL,或者从WSDL生成Java代码。...
客户端开发相对简单,它通过CXF的WSClientAPI动态生成代理对象,调用远程服务。首先,我们需要设置HTTPS的信任管理器,信任服务端的证书。然后,通过JAX-WS的`Service`类和WSDL URL创建服务代理,并获取业务接口的...
本篇文章将围绕“基于Spring 3.0的CXF发布Web Service及客户端”的主题展开,详细介绍如何利用这两个强大的工具来实现服务的发布和调用。 首先,我们需要理解Spring 3.0的关键特性。Spring 3.0引入了更多的模块和...
CXF,全称“CXF:Confusing eXtensible Framework”,它提供了多种方式来创建Web服务,包括基于Java API for Web Services (JAX-WS) 和基于SOAP的Web服务。对于客户端,CXF提供了一个强大的工具集,使得开发者能够...
2. **生成客户端代码**:使用CXF的wsdl2java工具,可以基于WSDL生成Java客户端 stubs和代理类。这些类包含了调用服务的方法。命令行示例如下: ``` wsdl2java -d ./src http://example.com/service?wsdl ``` 3. ...
- **服务提供**:CXF支持通过注解或XML配置文件创建和发布SOAP或RESTful服务。 - **服务消费**:可以生成Java客户端代理代码,使得调用远程服务就像调用本地方法一样简单。 - **数据绑定**:支持多种数据绑定机制...
5. **WSDL支持**:CXF可以基于Java接口或类生成WSDL,也可以从WSDL生成Java代码。 6. **安全特性**:支持WS-Security等安全规范,确保服务的安全通信。 **使用CXF的步骤:** 1. 安装和配置CXF库:将"apache-cxf-...
CXF2.4.0是该框架的一个特定版本,提供了丰富的功能和改进,适用于构建基于SOAP、RESTful API和其他Web服务标准的应用程序。这个"CXF2.4.0完整架包"包含了CXF框架的所有组件和依赖库,方便开发者在项目中直接使用。 ...
这个"apache-cxf-2.4.3"版本是该框架的一个特定发行版,发布于2011年,为开发者提供了构建RESTful API和SOAP服务的能力。 CXF(前身为XFire和Celtix)的核心功能包括: 1. **Web服务实现**:CXF允许开发人员使用...
CXF使得开发人员能够轻松地创建和部署服务,无论是基于简单的SOAP还是RESTful风格。Spring框架则是Java企业级应用开发的事实标准,提供了一个全面的配置和依赖注入机制。将CXF与Spring整合,可以充分利用Spring的...
这个"apache-cxf-2.4.1"版本是该框架的一个特定发行版,发布于2011年,为开发者提供了构建RESTful API和SOAP Web服务的能力。在描述中提到的"jar"文件,指的是Java Archive,是Java平台用来打包类文件和其他资源的...
而`WSDL2Java`工具正是基于这样的需求应运而生,它能够将一个WSDL文件转换为Java客户端代码,让开发者可以轻松地调用远程Web服务。 ### WSDL2Java的工作原理 `WSDL2Java`工具主要遵循以下步骤: 1. **解析WSDL...
本示例代码是基于Eclipse集成开发环境的一个项目,旨在帮助开发者理解和实践如何在Java中使用CXF来实现Web服务。 首先,我们需要了解Web服务的基本概念。Web服务是一种通过互联网进行通信的应用程序接口(API)。它...
2. **服务消费者**:如果已有SOAP服务的WSDL,CXF可以帮助生成客户端代理类,方便调用远程服务。 3. **消息处理**:CXF允许自定义SOAP消息的处理逻辑,包括编码、解码和异常处理。 4. **互操作性**:由于CXF对SOAP和...