通过之前的学习我们知道Web Service是跨平台性的,Web Service平台是用XSD来作为数据类型系统的。你可以使用各种语言比如java或者JavaScript来调用Web Service,本文我们就来讲讲如何使用JavaScript调用Web Service。
新建一个WebApplication项目,取默认设置。
然后就在其中写入方法,上代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
/// <summary>
///WebService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService
{
public WebService()
{
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
[WebMethod]
public string HelloWorld(string message)
{
return message;
}
}
你可以使用各种方式创建一个WebService,这里使用java创建一个简单的WebService,代码如下:
package com.roulandu.webservice;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class Test {
public String Hello(){
return "Hello World!!";
}
public static void main(String[] args){
Endpoint.publish("http://localhost:51223/Service/test", new Test());//这个地址可以随便改个没占用的端口,也可以发布到云端
System.out.println("publish success!!~~~");
}
}
这里必须保证类中存在一个非静态方法,不然会报错,静态方法和final方法不会被发布,控制台输出 “publish success!!~~~” 则发布成功。
接下来我们就可以查看自己发布的WebService了,浏览器输入之前的发布地址+?wsdl ,然后就可以看到我们的WebService是否发布成功了。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<script type="text/javascript">
function RequestWebService() {
var data;
//SOAP 1.1 请求报文格式,1.2在网上可以找到
data = '<?xml version="1.0" encoding="utf-8"?>';
data = data + '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">';
data = data + '<soap:Body>';
data = data + '<Hello xmlns="http://webservice.roulandu.com/">';//这里就是发布的方法名和xml文档中的命名空间地址(图中画线部分)
data = data + '</Hello>';
data = data + '</soap:Body>';
data = data + '</soap:Envelope>';
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
var URL="http://localhost:51223/Service/test?wsdl";
xmlhttp.Open("POST",URL, false);
xmlhttp.SetRequestHeader ("Content-Type","text/xml; charset=utf-8"); //SOAP 1.1为text/xml ; 1.2为 application/soap+xml
xmlhttp.Send(data);
alert(data);//SOAP请求报文格式
var text = xmlhttp.responseText;
alert('结果'+'\n'+text); //SOAP响应报文格式
document.getElementById("data").innerHTML = text;
}
</script>
<input type="button" value="test" onclick="RequestWebService()"></input>
<p id="data"></p>
</body>
</html>
打开浏览器进行测试,如果页面显示正常则表示JavaScript调用Web Service成功。
上述过程就是JavaScript调用Web Service的大概流程,会有一些细枝末节的东西没能介绍到位,小伙伴们可以在动力节点在线的Web Service视频课程中查漏补缺,除此之外,也可以选择其他的Java知识来学习,充实自己。
代码小兵49806-11 15:28
代码小兵49806-11 15:51
代码小兵49806-11 16:22
代码小兵51603-29 17:28
暴风城-小飞04-06 20:49