Apache CXF 入门
Q、CXF 是什么?
A、搞WebService用的。
Q、WebService是什么
A、使用Web的方法进行的服务调用
Q、Web的方法
A 、Http作为协议,Xml格式作为内容
Q 、How
A 、使用XML规范定义WSDL、SOAP,按照规范拼组报文,使用Http协议发送请求,接收返回。
Q、WSDL、SOAP又是甚
A、WSDL是Web Service Describe Language,是描述WebService接口的语言,用来描述服务的方法名、参数。
<portType> : 服务的整体描述,包括服务的名字、输入(param)和输出(return) 等组件信息<message> : 描述具体的组件信息,例如输入组件的数据类型
<types> : 数据类型
<binding> : 消息格式和协议细节
SOAP是Simple Object Access Protocol,SOAP定义了请求消息的格式。
< Envelope> : 标识是soap消息
<Header>: 头部信息[可选] 应用程序专用信息,例如认证信息。
<Body> : 调用和响应信息
<Fault> : 错误信息[可选]
Q、WSDL、SOAP区别
A、WSDL是服务的说明手册,SOAP是定义每次调用的消息的格式。
Q、JWS和WebService是什么关系
A、JWS是WebService的Java版实现,只能在java平台用。
Q 、JWS和JAX-WS 是什么关系
A、JWS是包含了JAX-WS技术的,JAX-WS是基于XML的实现版本。
Q、有了JWS为啥还要用CXF
A、CXF是框架,高性能、可扩展,简单易用。
Q、CXF怎么用
A、
服务端:
1、创建ServerFactoryBean : ServerFactoryBean sfb = new ServerFactoryBean();
2、设置服务Class: sfb.setServiceClass(Hello.class);
3、添加服务地址 : sfb.setAdress(‘http://localhost:9090/Hello');
4、设置Service的Bean : sfb.setServiceBean(helloimpl); //之前已new过helloimpl对象
5、创建WebService服务 : sfb.create();
客户端:
1、创建ClientProxyFactoryBean : ClientProxyFactoryBean cpfb = new ClientProxyFactoryBean();
2、设置服务class : cpfb.setServiceClass(Hello.class);
3、设置服务地址 : cpfb.setAdress(‘http://localhost:9090/Hello');
4、创建代理Hello对象 : Hello hello = (Hello) factory.create();
Q、CXF 有木有更简单的使用方式
A、配合注解和Spring