相关历史文章(阅读本文之前,您可能需要先看下之前的系列?)

WebService SOAP概述 - 第275篇

WSDL是什么“Lese” - 第276篇

Spring boot webservice怎么玩? - 第277篇

Spring boot cxf构建webservice服务 - 第278篇

Spring boot cxf调用webservice服务 - 第279篇

一、前言

在前面文章中,对于WebService、SOAP的一些概念进行了讲解,也提出了WSDL的概念。在调用WSDL文档的时候,那么首先要先会解读这个文档,才知道文档提供了什么方法,需要什么参数,返回值是什么。

二、WSDL是什么货色

以下是一个通过CXF生成的xsd文件:

<wsdl:definitionsxmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"xmlns:tns="http://ws.demo.kfit.com"xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:ns1="http://schemas.xmlsoap.org/soap/http" name="helloService"targetNamespace="http://ws.demo.kfit.com"><wsdl:types><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"xmlns:tns="http://ws.demo.kfit.com" elementFormDefault="unqualified"targetNamespace="http://ws.demo.kfit.com" version="1.0"><xs:element name="sayHello" type="tns:sayHello" /><xs:element name="sayHelloResponse"type="tns:sayHelloResponse" /><xs:complexType name="sayHello"><xs:sequence><xs:element minOccurs="0" name="userName"type="xs:string" /></xs:sequence></xs:complexType><xs:complexType name="sayHelloResponse"><xs:sequence><xs:element minOccurs="0" name="return" type="xs:string" /></xs:sequence></xs:complexType></xs:schema></wsdl:types><wsdl:message name="sayHelloResponse"><wsdl:part element="tns:sayHelloResponse" name="parameters"></wsdl:part></wsdl:message><wsdl:message name="sayHello"><wsdl:part element="tns:sayHello" name="parameters"></wsdl:part></wsdl:message><wsdl:portType name="HelloService"><wsdl:operation name="sayHello"><wsdl:input message="tns:sayHello" name="sayHello"></wsdl:input><wsdl:output message="tns:sayHelloResponse"name="sayHelloResponse"></wsdl:output></wsdl:operation></wsdl:portType><wsdl:binding name="helloServiceSoapBinding"type="tns:HelloService"><soap:binding style="document"transport="http://schemas.xmlsoap.org/soap/http" /><wsdl:operation name="sayHello"><soap:operation soapAction="" style="document" /><wsdl:input name="sayHello"><soap:body use="literal" /></wsdl:input><wsdl:output name="sayHelloResponse"><soap:body use="literal" /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service name="helloService"><wsdl:port binding="tns:helloServiceSoapBinding"name="CxfServicesImplPort"><soap:addresslocation="http://127.0.0.1:8080/cxf/cxfServices" /></wsdl:port></wsdl:service>
</wsdl:definitions>

2.1 WSDL文档组成部分

一个WSDL文档由以下几部分组成:

(1)types

types指定了WebService用到的所有数据类型:

<wsdl:types><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"xmlns:tns="http://ws.demo.kfit.com" elementFormDefault="unqualified"targetNamespace="http://ws.demo.kfit.com" version="1.0"><xs:element name="sayHello" type="tns:sayHello" /><xs:element name="sayHelloResponse"type="tns:sayHelloResponse" /><xs:complexType name="sayHello"><xs:sequence><xs:element minOccurs="0" name="userName"type="xs:string" /></xs:sequence></xs:complexType><xs:complexType name="sayHelloResponse"><xs:sequence><xs:element minOccurs="0" name="return" type="xs:string" /></xs:sequence></xs:complexType></xs:schema></wsdl:types>

上面用到了一种数据类型String

(2)message

指明一个操作所用到的数据类型:

<wsdl:message name="sayHelloResponse"><wsdl:part element="tns:sayHelloResponse" name="parameters"></wsdl:part></wsdl:message><wsdl:message name="sayHello"><wsdl:part element="tns:sayHello" name="parameters"></wsdl:part>
</wsdl:message>

  sayHello(Request)是指sayHello的输入操作用到的数据类型,sayHelloResponse是指HelloWorld的输出操作用到的数据类型。二者的element元素指出了与types中对应到的具体类型。

(3)portType

指出了这个WebService所有支持的操作,就是说有哪些方法可供调用。

    <wsdl:portType name="HelloService"><wsdl:operation name="sayHello"><wsdl:input message="tns:sayHello" name="sayHello"></wsdl:input><wsdl:output message="tns:sayHelloResponse"name="sayHelloResponse"></wsdl:output></wsdl:operation></wsdl:portType>

这里支持一个HelloService的sayHello调用,它的输入和输出对应到sayHello和sayHelloResponse这个两个数据类型。

(4)portTypebinding

binding元素的transport指明传输协议,这里是http协议。

operation 指明要暴露给外界调用的操作。

use属性指定输入输出的编码方式,绑定编码方式(Encoded或者Literal)序列化参数。

    <wsdl:binding name="helloServiceSoapBinding"type="tns:HelloService"><soap:binding style="document"transport="http://schemas.xmlsoap.org/soap/http" /><wsdl:operation name="sayHello"><soap:operation soapAction="" style="document" /><wsdl:input name="sayHello"><soap:body use="literal" /></wsdl:input><wsdl:output name="sayHelloResponse"><soap:body use="literal" /></wsdl:output></wsdl:operation></wsdl:binding>

(5)service

指定服务的一些信息,主要是指定服务的访问路径。

<wsdl:service name="helloService"><wsdl:port binding="tns:helloServiceSoapBinding"name="CxfServicesImplPort"><soap:addresslocation="http://127.0.0.1:8080/cxf/cxfServices" /></wsdl:port></wsdl:service>

soap:address这里的地址就是127.0.0.1

三、通过一个WSDL怎么进行解读呐?

我们通过一个实际例子 对外开放的查询手机号归属地的一个接口文档 说明下,

该WSDL文档地址:

http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl

访问WSDL文档地址,可以得到如下的格式:

<wsdl:definitionsxmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"xmlns:tns="http://WebXml.com.cn/"xmlns:s="http://www.w3.org/2001/XMLSchema"xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"targetNamespace="http://WebXml.com.cn/"><wsdl:documentationxmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"><a href="http://www.webxml.com.cn/" target="_blank">WebXml.com.cn</a><strong>国内手机号码归属地查询WEB服务</strong>,提供最新的国内手机号码段归属地数据,每月更新。<br />使用本站 WEB 服务请注明或链接本站:<a href="http://www.webxml.com.cn/" target="_blank">http://www.webxml.com.cn/</a>感谢大家的支持!<br />&nbsp;</wsdl:documentation><wsdl:types><s:schema elementFormDefault="qualified"targetNamespace="http://WebXml.com.cn/"><s:element name="getMobileCodeInfo"><s:complexType><s:sequence><s:element minOccurs="0" maxOccurs="1" name="mobileCode"type="s:string" /><s:element minOccurs="0" maxOccurs="1" name="userID"type="s:string" /></s:sequence></s:complexType></s:element><s:element name="getMobileCodeInfoResponse"><s:complexType><s:sequence><s:element minOccurs="0" maxOccurs="1"name="getMobileCodeInfoResult" type="s:string" /></s:sequence></s:complexType></s:element><s:element name="getDatabaseInfo"><s:complexType /></s:element><s:element name="getDatabaseInfoResponse"><s:complexType><s:sequence><s:element minOccurs="0" maxOccurs="1"name="getDatabaseInfoResult" type="tns:ArrayOfString" /></s:sequence></s:complexType></s:element><s:complexType name="ArrayOfString"><s:sequence><s:element minOccurs="0" maxOccurs="unbounded"name="string" nillable="true" type="s:string" /></s:sequence></s:complexType><s:element name="string" nillable="true" type="s:string" /><s:element name="ArrayOfString" nillable="true"type="tns:ArrayOfString" /></s:schema></wsdl:types><wsdl:message name="getMobileCodeInfoSoapIn"><wsdl:part name="parameters" element="tns:getMobileCodeInfo" /></wsdl:message><wsdl:message name="getMobileCodeInfoSoapOut"><wsdl:part name="parameters"element="tns:getMobileCodeInfoResponse" /></wsdl:message><wsdl:message name="getDatabaseInfoSoapIn"><wsdl:part name="parameters" element="tns:getDatabaseInfo" /></wsdl:message><wsdl:message name="getDatabaseInfoSoapOut"><wsdl:part name="parameters"element="tns:getDatabaseInfoResponse" /></wsdl:message><wsdl:message name="getMobileCodeInfoHttpGetIn"><wsdl:part name="mobileCode" type="s:string" /><wsdl:part name="userID" type="s:string" /></wsdl:message><wsdl:message name="getMobileCodeInfoHttpGetOut"><wsdl:part name="Body" element="tns:string" /></wsdl:message><wsdl:message name="getDatabaseInfoHttpGetIn" /><wsdl:message name="getDatabaseInfoHttpGetOut"><wsdl:part name="Body" element="tns:ArrayOfString" /></wsdl:message><wsdl:message name="getMobileCodeInfoHttpPostIn"><wsdl:part name="mobileCode" type="s:string" /><wsdl:part name="userID" type="s:string" /></wsdl:message><wsdl:message name="getMobileCodeInfoHttpPostOut"><wsdl:part name="Body" element="tns:string" /></wsdl:message><wsdl:message name="getDatabaseInfoHttpPostIn" /><wsdl:message name="getDatabaseInfoHttpPostOut"><wsdl:part name="Body" element="tns:ArrayOfString" /></wsdl:message><wsdl:portType name="MobileCodeWSSoap"><wsdl:operation name="getMobileCodeInfo"><wsdl:documentationxmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"><br /><h3>获得国内手机号码归属地省份、地区和手机卡类型信息</h3><p>输入参数:mobileCode = 字符串(手机号码,最少前7位数字),userID = 字符串(商业用户ID)免费用户为空字符串;返回数据:字符串(手机号码:省份 城市 手机卡类型)。</p><br /></wsdl:documentation><wsdl:input message="tns:getMobileCodeInfoSoapIn" /><wsdl:output message="tns:getMobileCodeInfoSoapOut" /></wsdl:operation><wsdl:operation name="getDatabaseInfo"><wsdl:documentationxmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"><br /><h3>获得国内手机号码归属地数据库信息</h3><p>输入参数:无;返回数据:一维字符串数组(省份 城市 记录数量)。</p><br /></wsdl:documentation><wsdl:input message="tns:getDatabaseInfoSoapIn" /><wsdl:output message="tns:getDatabaseInfoSoapOut" /></wsdl:operation></wsdl:portType><wsdl:portType name="MobileCodeWSHttpGet"><wsdl:operation name="getMobileCodeInfo"><wsdl:documentationxmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"><br /><h3>获得国内手机号码归属地省份、地区和手机卡类型信息</h3><p>输入参数:mobileCode = 字符串(手机号码,最少前7位数字),userID = 字符串(商业用户ID)免费用户为空字符串;返回数据:字符串(手机号码:省份 城市 手机卡类型)。</p><br /></wsdl:documentation><wsdl:input message="tns:getMobileCodeInfoHttpGetIn" /><wsdl:output message="tns:getMobileCodeInfoHttpGetOut" /></wsdl:operation><wsdl:operation name="getDatabaseInfo"><wsdl:documentationxmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"><br /><h3>获得国内手机号码归属地数据库信息</h3><p>输入参数:无;返回数据:一维字符串数组(省份 城市 记录数量)。</p><br /></wsdl:documentation><wsdl:input message="tns:getDatabaseInfoHttpGetIn" /><wsdl:output message="tns:getDatabaseInfoHttpGetOut" /></wsdl:operation></wsdl:portType><wsdl:portType name="MobileCodeWSHttpPost"><wsdl:operation name="getMobileCodeInfo"><wsdl:documentationxmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"><br /><h3>获得国内手机号码归属地省份、地区和手机卡类型信息</h3><p>输入参数:mobileCode = 字符串(手机号码,最少前7位数字),userID = 字符串(商业用户ID)免费用户为空字符串;返回数据:字符串(手机号码:省份 城市 手机卡类型)。</p><br /></wsdl:documentation><wsdl:input message="tns:getMobileCodeInfoHttpPostIn" /><wsdl:output message="tns:getMobileCodeInfoHttpPostOut" /></wsdl:operation><wsdl:operation name="getDatabaseInfo"><wsdl:documentationxmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"><br /><h3>获得国内手机号码归属地数据库信息</h3><p>输入参数:无;返回数据:一维字符串数组(省份 城市 记录数量)。</p><br /></wsdl:documentation><wsdl:input message="tns:getDatabaseInfoHttpPostIn" /><wsdl:output message="tns:getDatabaseInfoHttpPostOut" /></wsdl:operation></wsdl:portType><wsdl:binding name="MobileCodeWSSoap"type="tns:MobileCodeWSSoap"><soap:bindingtransport="http://schemas.xmlsoap.org/soap/http" /><wsdl:operation name="getMobileCodeInfo"><soap:operationsoapAction="http://WebXml.com.cn/getMobileCodeInfo" style="document" /><wsdl:input><soap:body use="literal" /></wsdl:input><wsdl:output><soap:body use="literal" /></wsdl:output></wsdl:operation><wsdl:operation name="getDatabaseInfo"><soap:operationsoapAction="http://WebXml.com.cn/getDatabaseInfo" style="document" /><wsdl:input><soap:body use="literal" /></wsdl:input><wsdl:output><soap:body use="literal" /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:binding name="MobileCodeWSSoap12"type="tns:MobileCodeWSSoap"><soap12:bindingtransport="http://schemas.xmlsoap.org/soap/http" /><wsdl:operation name="getMobileCodeInfo"><soap12:operationsoapAction="http://WebXml.com.cn/getMobileCodeInfo" style="document" /><wsdl:input><soap12:body use="literal" /></wsdl:input><wsdl:output><soap12:body use="literal" /></wsdl:output></wsdl:operation><wsdl:operation name="getDatabaseInfo"><soap12:operationsoapAction="http://WebXml.com.cn/getDatabaseInfo" style="document" /><wsdl:input><soap12:body use="literal" /></wsdl:input><wsdl:output><soap12:body use="literal" /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:binding name="MobileCodeWSHttpGet"type="tns:MobileCodeWSHttpGet"><http:binding verb="GET" /><wsdl:operation name="getMobileCodeInfo"><http:operation location="/getMobileCodeInfo" /><wsdl:input><http:urlEncoded /></wsdl:input><wsdl:output><mime:mimeXml part="Body" /></wsdl:output></wsdl:operation><wsdl:operation name="getDatabaseInfo"><http:operation location="/getDatabaseInfo" /><wsdl:input><http:urlEncoded /></wsdl:input><wsdl:output><mime:mimeXml part="Body" /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:binding name="MobileCodeWSHttpPost"type="tns:MobileCodeWSHttpPost"><http:binding verb="POST" /><wsdl:operation name="getMobileCodeInfo"><http:operation location="/getMobileCodeInfo" /><wsdl:input><mime:content type="application/x-www-form-urlencoded" /></wsdl:input><wsdl:output><mime:mimeXml part="Body" /></wsdl:output></wsdl:operation><wsdl:operation name="getDatabaseInfo"><http:operation location="/getDatabaseInfo" /><wsdl:input><mime:content type="application/x-www-form-urlencoded" /></wsdl:input><wsdl:output><mime:mimeXml part="Body" /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service name="MobileCodeWS"><wsdl:documentationxmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"><a href="http://www.webxml.com.cn/" target="_blank">WebXml.com.cn</a><strong>国内手机号码归属地查询WEB服务</strong>,提供最新的国内手机号码段归属地数据,每月更新。<br />使用本站 WEB 服务请注明或链接本站:<a href="http://www.webxml.com.cn/" target="_blank">http://www.webxml.com.cn/</a>感谢大家的支持!<br />&nbsp;</wsdl:documentation><wsdl:port name="MobileCodeWSSoap"binding="tns:MobileCodeWSSoap"><soap:addresslocation="http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx" /></wsdl:port><wsdl:port name="MobileCodeWSSoap12"binding="tns:MobileCodeWSSoap12"><soap12:addresslocation="http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx" /></wsdl:port><wsdl:port name="MobileCodeWSHttpGet"binding="tns:MobileCodeWSHttpGet"><http:addresslocation="http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx" /></wsdl:port><wsdl:port name="MobileCodeWSHttpPost"binding="tns:MobileCodeWSHttpPost"><http:addresslocation="http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx" /></wsdl:port></wsdl:service>
</wsdl:definitions>

可以自己用浏览器打开访问一下;

一眼望去,可能接口看起来很复杂,较为繁琐。 但是作为开发人员,使用的时候, 我们可以查看关注点信息,就能实现接口的调用了。

那么我们需要了解哪些信息呢?

从上面的文档里面,我们需要从头部(最上面一行)了解到:

targetNamespace="http://WebXml.com.cn/"

通过wsdl:portType可以该文档提供了如下方法:

getMobileCodeInfo:获得国内手机号码归属地省份、地区和手机卡类型信息。

getDatabaseInfo:获得国内手机号码归属地数据库信息。

通过types就能找到getMobileCodeInfo需要传递的参数:

<s:sequence><s:element minOccurs="0" maxOccurs="1" name="mobileCode"type="s:string" /><s:element minOccurs="0" maxOccurs="1" name="userID"type="s:string" />
</s:sequence>  

需要两个参数:

mobileCode:手机号码,最少前7位数字

userID:商业用户ID) 免费用户为空字符串

通过service找到请求地址:http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx

综上分析就可以得出,发起SOAP请求所需要的数据了:

WebService的URL:http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx
Namespace:http://WebXml.com.cn/
method:getMobileCodeInfo/getDatabaseInfo
params:mobileCode(必须)、userId(非必须)

三、常用的免费WebService接口

(1)天气预报Web服务,数据来源于中国气象局

http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl

(2)IP地址来源搜索 WEB 服务

http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl

(3)随机英文、数字和中文简体字 WEB 服务

http://www.webxml.com.cn/WebServices/RandomFontsWebService.asmx?wsdl

(4)中国邮政编码 <-> 地址信息双向查询/搜索 WEB 服务

http://www.webxml.com.cn/WebServices/ChinaZipSearchWebService.asmx?wsdl

(5)验证码图片 WEB 服务 支持中文、字母、数字 图像和多媒体

http://www.webxml.com.cn/WebServices/ValidateCodeWebService.asmx?wsdl

对于WSDL的介绍,就到这里了,那我们自己怎么发布一个soap webservice呢?欲知详情,下回分解。

我就是我,是颜色不一样的烟火。
我就是我,是与众不同的小苹果。

à悟空学院:http://t.cn/Rg3fKJD

学院中有Spring Boot相关的课程!

SpringBoot视频: http://t.cn/R3QepWG

Spring Cloud视频: http://t.cn/R3QeRZc

SpringBoot Shiro视频: http://t.cn/R3QDMbh

SpringBoot交流平台: http://t.cn/R3QDhU0

SpringData和JPA视频: http://t.cn/R1pSojf

SpringSecurity5.0视频: http://t.cn/EwlLjHh

Sharding-JDBC分库分表实战: http://t.cn/E4lpD6e

Spring Boot SOAP系列之WSDL是什么“Lese”相关推荐

  1. cmd 生成wsdl文件_Spring Boot SOAP系列之WSDL是什么“Lese”

    相关历史文章(阅读本文之前,您可能需要先看下之前的系列 ) WebService SOAP概述 - 第275篇 WSDL是什么"Lese" - 第276篇 Spring boot ...

  2. Spring Boot干货系列:(六)静态资源和拦截器处理 | 掘金技术征文

    原本地址:Spring Boot干货系列:(六)静态资源和拦截器处理 博客地址:tengj.top/ 前言 本章我们来介绍下SpringBoot对静态资源的支持以及很重要的一个类WebMvcConfi ...

  3. Spring Boot实战系列《六》:人事管理系统的登录设计

    Spring Boot实战系列<六>:人事管理系统的登录设计 Spring Boot实战系列<六>:人事管理系统的登录设计 1.前言 在上一篇中教大家在IEDA或者eclips ...

  4. Spring Boot 实战系列课程终于齐啦~

    Spring Boot 如今已成为 Java 开发必学技术,其可以大大简化 Spring 应用的初始搭建以及开发过程. Spring Boot 不仅支持直接嵌入 Tomcat,Jetty 或 Unde ...

  5. Spring Boot入门系列(十六)整合pagehelper,一秒实现分页功能!

    之前讲了Springboot整合Mybatis,然后介绍了如何自动生成pojo实体类.mapper类和对应的mapper.xml 文件,并实现最基本的增删改查功能.接下来要说一说Mybatis 的分页 ...

  6. Spring Boot干货系列:数据存储篇-SQL关系型数据库之MyBatis的使用

    Spring Boot干货系列:数据存储篇-SQL关系型数据库之MyBatis的使用 前言 上篇我们介绍了Spring Boot对传统JdbcTemplate的集成,这次换一下,介绍下Spring B ...

  7. Spring/Boot/Cloud系列知识(2)— — 代理模式

    本文转自:https://blog.csdn.net/yinwenjie/article/details/77848285 代理模式是23种设计模式中的一种,属于一种结构模式.用一句大白话解释这个设计 ...

  8. Spring/Boot/Cloud系列知识:SpringMVC进行HTTP信息接收和发送的过程(1)

    1.整体调用过程 本文承接本专题上一篇文章<Spring/Boot/Cloud系列知识:HttpMessageConverter转换器使用方式>,在上一篇文章中讲解了HttpMessage ...

  9. Spring Boot干货系列:(十二)Spring Boot使用单元测试 | 嘟嘟独立博客

    原文地址 2017-12-28 开启阅读模式 Spring Boot干货系列:(十二)Spring Boot使用单元测试 Spring Boot干货系列 Spring Boot 前言 这次来介绍下Sp ...

最新文章

  1. 在windows上的git bash中安装tree 和 linux tree命令使用
  2. win7任务栏计算机图标,Win7系统任务栏怎么添加显示桌面图标 显示桌面图标如何放到win7任务栏...
  3. PHP学级与年级的转换函数_PHP addslashes()和stripslashes():字符串转义与还原
  4. linux中usb设备名,Linux 中识别 USB 设备名字的 4 种方法
  5. 百度面试 php后端,2019.7最惨的三次面试经历-----百度PHP实习生面经
  6. Node 实现 AES 加密,结果输出为“byte”。
  7. easyExcel实现Excel导出功能
  8. 西威变频器 服务器显示,西威变频器故障查询及操作方法;
  9. wword中如何在方框(□)中打钩(√)
  10. PaddlePaddle (飞桨) - 开源深度学习平台
  11. 怎样配置外汇ea服务器运行,外汇EA安装及使用超详细说明-EA邦
  12. eclipse调成黑色主题背景(老版本适用)
  13. 【Python表白小程序】七夕表白神器(赶紧收藏起来)
  14. linux 嵌入式 播放器,基于Linux的嵌入式媒体播放器研究
  15. 树莓派11bullseye换源/Opencv安装
  16. MxNet系列——Windows上安装MxNet
  17. 1990-2020年江苏省全省人口数、户数(常住)
  18. 梳理一些近期关于编程和其他一些感想
  19. Exercise11-Matplotlib
  20. MEM/MBA数学基础(03)整式与分式 运算

热门文章

  1. 隧道股份“盾构云平台”试运行,年内将在上海全市范围推广
  2. 【SVN】——svn协议和http协议
  3. 【人脸检测】centerface唐人街探案50fps
  4. 深度原创丨当互联网巨头从云端“抄底” BI 和大数据...
  5. 广东电信公话200专用话机话务动态分析系统的构建
  6. PCB走线和过孔通流能力的标准、影响因素及其计算软件
  7. Maven插件wro4j-maven-plugin压缩、合并js、css详解
  8. (附源码)计算机毕业设计ssm大学校园兼职网站
  9. MTK led驱动测试 (adb)
  10. Nodejs影院售票管理系统的设计和实现(含论文)