政务网站集约化建设推进情况,谷歌app下载 安卓,查企业信息查询平台哪个好,沈阳关键词快照优化Web Service
web service 是一种跨编程语言 和 跨操作系统 平台的远程调用技术 就是一种数据接口 采用了标准的 SOAP 协议传输 遵循w3c的标准 xml传输 不同数据,不同服务 ,进行数据交互 的web 服务接口
特点
基于 SOAP 协议的#xff0c;传输数据是XML格式只支持 http 协议…Web Service
web service 是一种跨编程语言 和 跨操作系统 平台的远程调用技术 就是一种数据接口 采用了标准的 SOAP 协议传输 遵循w3c的标准 xml传输 不同数据,不同服务 ,进行数据交互 的web 服务接口
特点
基于 SOAP 协议的传输数据是XML格式只支持 http 协议不是开源的但是可以被任意一个了解xml的人使用只能部署在iis 服务器上
核心组件
xml 和htmlSOAP简单对象访问协议WSDlweb service描述语言【是w3c基于xml 给web service 提供的特有的xml格式】UDDI统一描述、发现和继承协议
soap 简单对象访问协议
【相当于httpxml】
wsdl
相当于Web Service 说明文档 链接地址后拼接wsdl 可以查看xml文件
wsdl 文档 的基础标签节点
服务视图:消息格式的定义可执行方法以及描述信息定义参数的相关信息的定义节点全部使用的数据类型
uddi
独立的框架 统一描述
调用web service
创建web service 创建的方法 要对外调用的话 需要添加[WebMethod] 特性
服务引用 添加web service 成功后 使用 首先要拿到服务的对象,然后通过对象调用方法
//调用 web service 接口 1.
ServiceReference1.WebService1SoapClient sesoap new ServiceReference1.WebService1SoapClient();
string ss sesoap.GetData();
var slistJsonConvert.DeserializeObject(sesoap.GetData());如果web service 中添加了新的 处理,需要更新一下服务引用 ** 一定 要 开启 web service **
ajax 调用
get请求
xml和json 取决于 接口方法返回值 //ajax get方式的简写$.get(https://localhost:44323/WebService1.asmx/GetData, function (res) {//处理xml数据res JSON.parse(res.getElementsByTagName(string)[0].innerHTML)console.log(res)
}, xml)post 请求
数据 json格式为 object,微软框架默认的是{“d”:“后台返回数据”} d才是后台返回的数据 //调用json格式数据
//post 请求
$.ajax({type:post,url:https://localhost:44323/WebService1.asmx/GetDatajson,data:{total:30},contentType:application/json,dataType: json,success: function (res) {console.log(JSON.parse(res.d))console.log(res)}
})注 接口端 类上的需要 添加此行注解【创建web service 时自动生成 一般自动注释】 在调用接口时、使用web service任何操作时 都需要保证web service 的运行 否则无法获取任何链接
跨域
同源和不同源
协议 域名 端口 都相同被称为同源 任意不同 就会产生跨域问题 http://www.a.com:8000 协议[http] 域名[www.a.com] 端口[:8000] 未写端口号默认 8080
跨域问题处理、需要在其他机器上访问,需要在 web.config 中进行配置 因为是接口进行跨域,所以配置在接口的web.config中
system.webServer!--配置为列出此目录的内容--directoryBrowse enabledtrue/!--允许进行跨域请求--httpProtocolcustomHeadersadd nameAccess-Control-Allow-Origin value*/add nameAccess-Control-Allow-Headers value*/add nameAccess-Control-Allow-Methods valueOPTIONS,POST,GET//customHeaders/httpProtocol/system.webServersystem.web!--允许远程调用web service--webServicesprotocolsadd nameHttpPost/add nameHttpGet//protocols/webServices/system.web