首页 > 其他分享 >webservice简介&CXF入门

webservice简介&CXF入门

时间:2022-12-19 11:33:26浏览次数:45  
标签:http webservice weather CXF 服务 12345 localhost 入门


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

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发布的方法

 

//创建代理工厂

factory = newJaxWsProxyFactoryBean();

//设置远程服务的地址

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

//设置portType的class

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

//读取portType

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

//调用远程方法

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

        System.out.println(str);



[a1]根据情况写



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



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

. 当前目录

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



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



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

标签:http,webservice,weather,CXF,服务,12345,localhost,入门
From: https://blog.51cto.com/u_10176086/5951830

相关文章

  • Linux入门到精通
    时间同步chrony1、ntp服务器搭建yum-yinstallchronyvi/etc/chrony.conf....#server用户客户端指向,上层NTP服务器server0.centos.pool.ntp.orgiburstserver......
  • GitHub Actions 入门教程
    一、GitHubAction简介......
  • [常用工具] shell脚本快速入门笔记
    Shell是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell脚本(shellscript),是一种为shell编写的脚本程序。业界所说的shell通常都是指shell脚本,但要知道,sh......
  • [R语言] ggplot2入门笔记3—通用教程如何自定义ggplot2
    date:2020-03-2111:10:02+0800tags:-R语言-数据分析与可视化通用教程简介(IntroductionToggplot2)代码下载地址以前,我们看到了使用ggpl......
  • [编程基础] C++多线程入门4-数据共享和资源竞争
    date:2020-05-2916:51:33+0800tags:-编程基础原始C++标准仅支持单线程编程。新的C++标准(称为C++11或C++0x)于2011年发布。在C++11中,引入了新的线程库。因此运......
  • [编程基础] C++多线程入门1-创建线程的三种不同方式
    date:2020-05-2916:30:50+0800tags:-编程基础原始C++标准仅支持单线程编程。新的C++标准(称为C++11或C++0x)于2011年发布。在C++11中,引入了新的线程库。因此运行......
  • [图像处理] YUV图像处理入门2
    1分离YUV420中YUV分量本程序中的函数主要是将YUV420P视频数据流的第一帧图像中的Y、U、V三个分量分离开并保存成三个文件。函数的代码如下所示:/***@file 1yuv_split......
  • [图像处理] YUV图像处理入门1
    目前数字图像处理技术已经应用生活各个方面,但是大部分教程都是利用第三方库(如opencv)对RGB图像格式进行处理。对于YUV图像格式的图像处理教程较少。于是博主搬运总结了多......
  • [图像处理] YUV图像处理入门5
    12yuv420转换为rgb(opencvmat)yuv格式具有亮度信息和色彩信息分离的特点,但大多数图像处理操作都是基于RGB格式,而且自己造轮子工作量太大。因此通常都会将yuv转换为rgb,再......
  • [图像处理] YUV图像处理入门4
    9yuv420图像截取本程序中的函数主要是对YUV420P视频数据流的第一帧图像进行截取。类似opencv中的rect函数,函数的代码如下所示:/***@file9yuv_clip.cpp*@authorl......