当前位置: 首页 > news >正文

ucloud网站开发网络媒体发稿

ucloud网站开发,网络媒体发稿,福建省建设执业继续教育网站,网站开发需求分析包括哪些方面因为做的项目中用到了webservice,所以在此总结一下。 一、webservice简介 Web Service也叫XML Web Service, WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是通过SOAP在Web上提供的软件服务,使…

        因为做的项目中用到了webservice,所以在此总结一下。

        一、webservice简介

        Web Service也叫XML Web Service, WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。WebService是一种跨编程语言和跨操作系统平台的远程调用技术。
        还可以从多个角度来理解WebService,从表面看,WebService就是一个应用程序向外界暴露出一个能通过Web进行调用的API,也就是说能用编程的方法通过Web来调用这个应用程序。我们把调用这个WebService的应用程序叫做客户端,而把提供这个WebService的应用程序叫做服务端。从深层次看,WebService是建立可互操作的分布式应用程序的新平台,是一个平台,是一套标准。它定义了应用程序如何在Web上实现互操作性,你可以用任何你喜欢的语言,在任何你喜欢的平台上写Web service ,只要我们可以通过Web service标准对这些服务进行查询和访问。

        二、webservice三要素:

        SOAP、WSDL、UDDI(UniversalDescriptionDiscovery andIntegration)三者构成了WebService的三要素。下面详细阐述这三大技术:

SOAP:

WebService通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,并增加了一些特定的HTTP消息头,以说明HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议。SOAP提供了标准的RPC(远程调用技术)方法来调用Web Service。

SOAP协议组成:

SOAP协议 = HTTP协议 + XML数据格式

SOAP协议定义了SOAP消息的格式,SOAP协议是基于HTTP协议的,SOAP也是基于XML的,XML是SOAP的数据编码方式。

WSDL

好比我们去商店买东西,首先要知道商店里有什么东西可买,然后再来购买,商家的做法就是张贴广告海报。 WebService也一样,WebService客户端要调用一个WebService服务,首先要有知道这个服务的地址在哪,以及这个服务里有什么方法可以调用,所以,WebService务器端首先要通过一个WSDL文件来说明自己家里有啥服务可以对外调用,服务是什么(服务中有哪些方法,方法接受的参数是什么,返回值是什么),服务的网络地址用哪个url地址表示,服务通过什么方式来调用。

WSDL(Web Services Description Language)就是这样一个基于XML的语言,用于描述Web Service及其函数、参数和返回值。它是WebService客户端和服务器端都能理解的标准格式。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应WebService的代理类代码。

UDDI

uddi是一个跨产业,跨平台的开放性架构,可以帮助 Web 服务提供商在互联网上发布 Web 服务的信息。UDDI 是一种目录服务,企业可以通过 UDDI 来注册和搜索 Web 服务。简单来说,UDDI 就是一个目录,只不过在这个目录中存放的是一些关于 Web 服务的信息而已。

也就是说:
        soap:就是在与webservice通信时规定好的协议
        wsdl:就是webservice中的食谱,你可以找到webservice中有哪些材料(方法),怎去做这道菜(入参、方法、返回值)等
        uddi:wsdl是食谱的话,uddi就是菜单,可以用来注册和搜索web服务。

三、为什么要使用WebService

  1. 跨平台调用
  2. 跨语言调用
  3. 远程调用

四、springboot简单调用案例

1、引入依赖:
<!-- CXF webservice -->
<dependency><groupId>org.apache.cxf</groupId><artifactId>cxf-spring-boot-starter-jaxws</artifactId><version>3.4.5</version>
</dependency>
2、创建实体类:
@Data
@Builder
public class UserDto {private Long id;private String name;private Integer age;private String address;
}
3、创建WebService接口
public interface IUserServer {UserDto getUser(Long str);
}
4、创建WebService接口的实现类
@Service
@WebService
public class UserServerImpl implements IUserServer {@Overridepublic UserDto getUser(Long id) {return UserDto.builder().id(id).address("上海市浦东新区").age(25).name("laJi").build();}
}

 

这里用到了注解@WebService,我这就只在实现类上使用了。这里介绍一下,先来看下它的定义:

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface WebService {String name() default "";String targetNamespace() default "";String serviceName() default "";String portName() default "";String wsdlLocation() default "";String endpointInterface() default "";
}

name: 对应wsdl:portType标签,默认值为Java类或接口的名称;
targetNamespace: 命名空间,一般写为接口的包名倒序,默认值也是接口的包名倒序。对应wsd:definitions:targetNamespace 标签;
serviceName: WebService的服务名称,对应wsdl:service,默认值为WebService接口实现类的名称+“Service”,示例:UserServiceImplServicce
portName: 对应wsdl:port标签,默认值为:WebService接口实现类的名称+“Port”,示例:UserServiceImplPort
wsdlLocation: 指定用于定义WebService的WSDL文档的地址
endpoointInterfacce: WebService接口全路径

5、创建WebService配置类
@Configuration
@RequiredArgsConstructor
public class CxfConfig {private final IUserServer userServer;/*** 注入Servlet,注意beanName不能为dispatcherServlet* @author Fang Ruichuan* @date 2022/11/14 19:16*/@Beanpublic ServletRegistrationBean cxfServlet() {return new ServletRegistrationBean(new CXFServlet(), "/webservice/*");}@Bean(name = Bus.DEFAULT_BUS_ID)public SpringBus springBus() {return new SpringBus();}@Beanpublic Endpoint endpoint() {EndpointImpl endpoint = new EndpointImpl(springBus(), userServer);endpoint.publish("/api");return endpoint;}
}

进行访问:http://localhost:8080/webservice
在这里插入图片描述
然后点击url
在这里插入图片描述

客户端:

public class WebserviceClient {public static void main(String[] args) {JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();Client client = dcf.createClient("http://localhost:8080/webservice/api?wsdl");final ObjectMapper mapper = new ObjectMapper();try {Object[] objects = client.invoke("getUser", 99L);System.out.println(mapper.writeValueAsString(objects[0]));} catch (Exception e) {e.printStackTrace();;}}
}

显示:

{"address":"上海市浦东新区","age":25,"id":99,"name":"laJi"}

 

五、简单总结:

        webservice的服务端是以远程接口为主的,在java实现的webService主要是依靠的是CXF开发框架,而这个CXF框架可以直接将接口发布成webservice,同时还要考虑到整个项目之中的安全性问题。

http://www.yidumall.com/news/72632.html

相关文章:

  • 合肥浦发建设集团网站热搜榜百度
  • 长沙做php的网站建设新闻最新消息
  • 响应式网站建设需要注意什么seo网络优化师招聘
  • 做网站需要啥seo成功的案例和分析
  • 做网站要的软件图片外链在线生成
  • 北京品牌设计公司aso优化怎么做
  • 怎么做网站热线电话河南seo关键词排名优化
  • wordpress 木马seo综合查询软件排名
  • xampp做网站设置seo专员岗位职责
  • 郑州高端做网站汉狮什么是搜索引擎优化的核心
  • 南京做网站建设的公司排名会员卡营销策划方案
  • 吉林手机版建站系统开发太原seo外包服务
  • 自助seo网站建设百度快速排名平台
  • 旅行社静态模板网站百度投放广告联系谁
  • 哈市最新公告谷歌优化方法
  • 免费开发平台网站百家号关键词seo优化
  • 最新新闻热点事件看法seo优化思路
  • 重庆企业网站建设公司自己如何制作一个网页
  • 网站优化 h几 更易被抓百度收录要多久
  • 什么网站能免费做简历seo刷排名软件
  • 学习java可以自己做网站吗怎么做网络推广赚佣金
  • 无锡做网站 选众诺怎么做业务推广技巧
  • 怎么检查网站有没有被挂马谷歌搜图
  • 乡镇政府网站建设情况百度推广下载
  • 制作静态网站制作千万不要做手游推广员
  • 局网站建设方案word外贸网站平台都有哪些 免费的
  • 企业网站如何提高东莞网络推广培训
  • 怎么开始做网站建站abc网站
  • 淘宝上做网站SEO靠谱吗东莞新闻头条新闻
  • 石家庄做网站公司关键词有几种类型