WebService CXF学习笔记

本文档介绍了如何使用CXF框架进行WebService的开发,包括服务端与客户端的搭建过程,涉及WebService接口与实现类的设计、CXF工具的使用、SOAP消息格式等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

声明:此博客为本人的学习笔记,内容有待整理。偶然看到的网友不要以此作为开发依据,技术大牛直接绕过!

 

=========================================
开发WebService服务端

CXF内置了一个Jetty Web服务器

每个WebService组件需要2个部分:接口和实现类
1)开发一个WebService业务接口
接口需要用@WebService修饰

2)开发一个WebService实现类
实现类也要用@WebService修饰,必须添加参数
比如@WebService(endPointInterface="com.spc.cxf.ws.HelloWord",)

3)发布接口,供远程客户端调用
创建类,在main方法中调用Endpoint.publish()方法
例如:
Endpoint.publish(address);


添加jar包:
geronimo-servlet
jetty-http
commons-log
cxf-core
wsdl4j
sxmlschema-core

==========================================
开发WebService客户端
1)使用CXF提供的wsdl2java工具,从wsdl生成客户端的Java代码

2)在客户端代码中,找到一个继承了Service的类。
该类的实例可以当成工厂来使用

3)调用Service子类实例的getXxxPort()方法,返回远程WebService的代理。

===========================================
===========================================
形参、返回值
1、当形参、返回值的类型是String、基本数据类型时,CXF肯定可以轻松的处理。
2、当形参、返回值的类型是JavaBean形式的复合类,List集合,数组等形式,CXF能处理。
3、对于Map、非JavaBean式的复合类,CXF处理不了。


==============================================
XML里的两个属性
targetNamespace—相当于java语言的package
xmlns—相当于Java语言的import

==============================================
WSDL文档
1、Web Service接口

2、Web Service实现
<wsdl:definitions name="" targerNamespace="">
<wsdl:types>
</wsdl:types>
<wsdl:message name="">
</wsdl:message>
<wsdl:portType name=""></wsdl:portType>
</wsd:definitionsl>

1)types元素内容就是Schema文档
2)2N个message元素
3)portType,接口中定义的方法(个数)


==============================================
WebService的三个技术基础
1、WSDL
Web Service Definition Language
2、SOAP

3、UDDI


一次Web Service的调用,不是方法的调用,而是发送SOAP消息(即是XML文档片段)

对于sayHello操作来说,
传入的消息,是sayHello元素
<sayHello>
 <arg0>字符串</arg0>
</sayHello>

传出的消息,是sayHelloResponse元素
<sayHelloResponse>
 <return>字符串</return>
</sayHelloResponse>

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值