webservice简介&CXF入门

WebService

它是一种跨编程语言和跨操作系统平台的远程调用技术即跨平台远程调用技术.

 

面向服务架构

规范及三要素

 

1)           SOAP协议:webservice的传输协议,即简单对象访问协议.SOAP协议是xml格式,可以理解为基于http传输xml数据.soap=html+xml

特点:跨平台          跨语言              W3C标准

各种开发语言都是按照相同的表中实现webservice的开发

2)           WSDL:webservice说明书

WSDL指网络服务描述语言(Web serviceDescription languge),是一种使用XML编写的文档,用于描述网络服务,也可用于定位网络服务

根据WSDL区调用webservice.从下往上读,找到service服务视图,通过binding找到portType(服务类)

3)           UDDI:统一描述、发现和继承协议;是一个目录服务,存储了全球的webservice地址。

 

Java共有三种webService规范:JAX-WS(JAX-RPC),  JAXM&SAAJ,  JAX-RS

 

Cxf框架

         使用:

Service

1)      导包

2)      创建个接口在要发布到webservice的方法上加@WebService注解

3)      发布:

 

                   //jaxws规范的服务工厂bean

        JaxWsServerFactoryBean bean = newJaxWsServerFactoryBean();

        //设置发布地址

        bean.setAddress("http://localhost:12345/weather[a1] ");

        //设置服务类

        bean.setServiceBean(new CXFServiceImpl()[a2] );

        //发布

        bean.create();

客户端

1) 导包

2) Wsimport 生成本地代码;

Wsimport java提供的在JDK安装目录的bin目录下

在命令行窗口中运行:

Wsimport –s . http://localhost:12345/weather?wsdl[a3] 

3) 使用webService发布的方法

 

//创建代理工厂

        JaxWsProxyFactoryBean factory = newJaxWsProxyFactoryBean();

        //设置远程服务的地址

        factory.setAddress("http://localhost:12345/weather?wsdl");

        //设置portTypeclass

        factory.setServiceClass(CXFService[a4] .class);

        //读取portType

        CXFService create = (CXFService[a5] ) factory.create();

        //调用远程方法

        String str = create.csfTest("北京");

        System.out.println(str);


 [a1]根据情况写

 [a2]自定义接口的实现类

 [a3]意为将http://localhost:12345/weather [a3]?wsdl生成在 . 当前文件夹下

. 当前目录

-s . 在当前文件夹下生成源码

 [a4]服务器上要使用的类的接口

 [a5]服务器上要使用的类的接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘彦青-Yannis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值