webservice服务(webservice服务端调用失败什么意思)

http://www.itjxue.com  2023-02-13 14:18  来源:未知  点击次数: 

什么是WebService?

WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。\x0d\x0aWebService实现不同语言间的调用,是依托于一个标准,webservice是需要遵守WSDL(web服务定义语言)/SOAP(简单请求协议)规范的。\x0d\x0aWebService=WSDL+SOAP+UDDI(webservice的注册)\x0d\x0aSoap是由Soap的part和0个或多个附件组成,一般只有part,在part中有Envelope和Body。\x0d\x0aWeb Service是通过提供标准的协议和接口,可以让不同的程序集成的一种SOA架构。\x0d\x0aWeb Service的优点\x0d\x0a(1) 可以让异构的程序相互访问(跨平台)(2) 松耦合\x0d\x0a(3) 基于标准协议(通用语言,允许其他程序访问)\x0d\x0aWeb Service的基本原理\x0d\x0a(1) Service Provider采用WSDL描述服务\x0d\x0a(2) Service Provider 采用UDDI将服务的描述文件发布到UDDI服务器(Register server)\x0d\x0a(3) Service Requestor在UDDI服务器上查询并 获取WSDL文件\x0d\x0a(4) Service requestor将请求绑定到SOAP,并访问相应的服务。

什么是webservice

1、Web Service 是一种新的web应用程序分支

2、是自包含、自描述、模块化的应用

3、可以发布、定位、通过web调用

4、Web Service可以执行从简单的请求到复杂商务处理的任何功能,一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务.

5、实际上,他的出现的最佳好处就是跨平台操作,不在局限于web编程语言的限制。

php的一般的应用,服务方:根据一定的规则和用户的参数生成一个标准的xml文档。

如何从头创建一个WebService服务

创建一个简单的webservice:

讲述碰到的第一个小问题:本人使用的visual studio2010,在新建项目时找不到web服务?

直接选择.net4.0,可以选择创建asp.net空模板,然后添加新项选择web服务模板即可。此方法最简单。还有:选择.net2.0,,3.0,3.5,就可以选择webservice模板了,之后需要.net4.0新特性,在项目属性窗口或者页窗口的Build选项卡中选择.net4.0即可。

新建一个空的asp.net项目,添加webservice页面,编写:

namespace FirstWebservice

{

/// summary

/// WebService1 的摘要说明

/// /summary

[WebService(Namespace = "")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

[System.ComponentModel.ToolboxItem(false)]

// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。

// [System.Web.Script.Services.ScriptService]

public class WebService1 : System.Web.Services.WebService

{

[WebMethod(Description = "求和的方法")]

public double addition(double i, double j)

{

return i + j;

}

[WebMethod(Description = "求差的方法")]

public double subtract(double i, double j)

{

return i - j;

}

[WebMethod(Description = "求积的方法")]

public double multiplication(double i, double j)

{

return i * j;

}

[WebMethod(Description = "求商的方法")]

public double division(double i, double j)

{

if (j != 0)

return i / j;

else

return 0;

}

}

}

View Code

至此创建了一个webservice,里面包含加减乘除4个方法。如下图显示:

Asp.net调用webservice:

下面创建一个asp.net项目调用webservice:

首先引用webservice,将服务的网站网址加入服务引用即可。添加服务引用界面如图:

编写调用的方法:

protected void Button1_Click(object sender, EventArgs e)

{

string selectFlag = selectOper.Value;

ServiceReference1.WebService1SoapClient web = new ServiceReference1.WebService1SoapClient();

if (selectFlag.Equals("+"))

{

Result.Text = (web.addition(double.Parse(Num1.Text), double.Parse(Num2.Text))).ToString();

}

else if (selectFlag.Equals("-"))

{

Result.Text = (web.subtract(double.Parse(Num1.Text), double.Parse(Num2.Text))).ToString();

}

else if (selectFlag.Equals("*"))

{

Result.Text = (web.multiplication(double.Parse(Num1.Text), double.Parse(Num2.Text))).ToString();

}

else if (selectFlag.Equals("/"))

{

Result.Text = (web.division(double.Parse(Num1.Text), double.Parse(Num2.Text))).ToString();

}

}

在运行界面内,随即选择“-”号,最后得到的运算如下图:

Winform调用webservice:

既然上面在介绍webservice时说了其是夸平台的,那么创建一个winform系统调用webservice。同样先添加webservice,

private void button1_Click(object sender, EventArgs e)

{

ServiceReference1.WebService1SoapClient web = new ServiceReference1.WebService1SoapClient();

this.txt3.Text = (web.multiplication(double.Parse(this.txt1.Text), double.Parse(this.txt2.Text))).ToString();

}

可以看出winform的调用和asp.net调用基本是相同的。在此也就没有一一验证,只是简单的选择“*”作为运算符,运行结果如下:

总结:

上文简单描述了webservice的基本认识,接着创建了一个相当简单的webservice,然后创建一个asp.net项目和winform系统对它进行调用,所有一切基本上完成了webservice的使用过程。大家平时看到的更高级的webservice,或者可以说是更为复杂的webservice吧,这些都是在最简单的webservice基础上增加的一些很复杂的业务逻辑,抽丝剥茧后还是基本的webservice应用。

(责任编辑:IT教学网)

更多

推荐Illustrator教程文章