快捷搜索:
来自 计算机编程 2019-09-17 12:09 的文章
当前位置: 67677新澳门手机版 > 计算机编程 > 正文

php怎样调用webservice应用介绍,WebService接口创设及

2.2、创设一个简易带有效能的Web Service

首先,打开VS2005,打开"文件-新建-网站",选择"ASP.NET Web服务"

咱俩在那就练习调用webservice的多个办法,做贰个简练的调用的事例,先在网址的前台增加多少个控件,代码如下:

协作社级的应用程序开垦者都知情,集团里平日都要把用差别语言写成的、在分裂平台上运转的各类程序集成起来,而这种购并将成本十分大的支效劳量。应用程序平时索要从运营的一台主机上的程序中获取数据;只怕把数量发送到主机或其余平台应用程序中去。即便在同贰个阳台上,不一致软件商家生产的种种软件也时时须求集成起来。通过Web Service,应用程序可以用标准的不二秘技把效果和数目"暴光"出来,供其他应用程序使用。

2.以 XML Web 瑟维斯方式提供现成应用程序,能够构建新的、更加强有力的应用程序,并利用 XML Web Service 作为协会块。

B2B 指的是Business to Business,as in businesses doing business with other businesses,厂家(泛指公司)对集团的电子商务,即商家与市肆之间通过互连网开展产品、服务及音信的交流。通俗的传教是指开展电子商务交易的供应和供给双方都以信用合作社(或小卖部、集团),她们采纳了Internet的技术或各样商务互联网平台,完成商务贸易的历程。

在不胜枚举理与运输用中,全体的次序都是在Windows平台下使用COM,都运维在同叁个局域英特网。在那么些程序里,使用DCOM会比SOAP/HTTP有效得多。与此相就好像,要是二个.net主次要一而再到局域英特网的另三个.net主次,应该使用.net Remoting。其实在.net Remoting中,也得以钦点使用SOAP/HTTP来进展Web Service 调用。可是最佳照旧直接通过TCP实行RPC调用,那样会使得得多。

2.以 XML Web Service形式提供现成应用程序,可以营造新的、更加强有力的应用程序,并行使 XML Web Service 作为组织块。

view plaincopy to clipboardprint?
using System;   
using System.Configuration;   
using System.Data;   
using System.Linq;   
using System.Web;   
using System.Web.Security;   
using System.Web.UI;   
using System.Web.UI.HtmlControls;   
using System.Web.UI.WebControls;   
using System.Web.UI.WebControls.WebParts;   
using System.Xml.Linq;   
public partial class _Default : System.Web.UI.Page    
{   
    protected void Page_Load(object sender, EventArgs e)   
    {   
    }   
    protected void Button1_Click(object sender, EventArgs e)   
    {   
        string selectFlag = selectOper.Value;   
        localhost.Service web = new localhost.Service();   
        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();   
        }   
    }   
}  
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string selectFlag = selectOper.Value;
        localhost.Service web = new localhost.Service();
        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();
        }
    }
}  

若果应用程序有相当的多的客商,何况布满在世界外市,那么客商端和服务器之间的通讯将是一个高难的难题。因为客商端和服务器之间日常会有防火墙恐怕代理服务器。古板的做法是,选拔用浏览器作为客商端,写下一大堆ASP页面,把应用程序的高级中学级层揭破给最后客户。那样做的结果是支付难度大,程序很难保证。 借使顾客端代码不再那样信赖于HTML表单,客商端的编制程序就差不离多了。若是中间层组件换到Web 瑟维斯的话,就足以从客户界面直接调用中间层组件,进而节省创设ASP页面包车型地铁那一步。要调用Web Service,能够一向动用Microsoft SOAP Toolkit或.net那样的SOAP客户端,也能够行使本身付出的SOAP客户端,然后把它和应用程序连接起来。不仅仅缩小了开辟周期,还收缩了代码复杂度,并能够拉长应用程序的可维护性。同一时间,应用程序也不再须要在每趟调用中间层组件时,都跳转到相应的"结果页"。

一旦应用程序有广大的客户,并且布满在世界各州,那么客商端和服务器之间的通讯将是多少个犯难的题目。因为顾客端和服务器之间通常会有防火墙恐怕代理服务器。古板的做法是,选择用浏览器作为顾客端,写下一大堆ASP页面,把应用程序的中等层暴露给最后客商。那样做的结果是付出难度大,程序很难保证。 倘使客商端代码不再那样依靠于HTML表单,客商端的编制程序就轻易多了。就算中间层组件换来Web Service的话,就能够从顾客分界面直接调用中间层组件,进而省去创立ASP页面包车型地铁那一步。要调用Web Service,能够一贯利用Microsoft SOAP Toolkit或.net那样的SOAP客商端,也得以运用本身支付的SOAP客商端,然后把它和应用程序连接起来。不仅仅降低了开垦周期,还收缩了代码复杂度,并能够提升应用程序的可维护性。同时,应用程序也不再供给在历次调用中间层组件时,都跳转到相应的"结果页"。

长久以来点击addition方法,步向addition方法的调用页。

4、软件和多少重用

 图片 1

 图片 2

using System;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
[WebService(Namespace = "]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// 若要允许利用 ASP.NET AJAX 从剧本中调用此 Web 服务,请撤除对下行的注明。
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
    public Service () {
        //假如使用规划的零件,请撤废注释以下行
        //InitializeComponent();
    }
    //[WebMethod]
    //public string HelloWorld()
    //{
    //    return "Hello World";
    //}
    [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;
    }
}

 图片 3

.net平台内建了对Web 瑟维斯的帮助,满含Web Service的创设和利用。与其他开支平台不一致,使用.net平台,你无需其余的工具恐怕SDK就能够成功Web Service的支出了。.net Framework本人就完善补助Web Service,富含劳动器端的乞求管理器和对顾客端发送和经受SOAP信息的支撑。下来我们就一步一步的用Microsoft Visual Studio .net 二零零五8(后边简称VS.Net 二零零六)创制和应用贰个轻便易行的Web Service。

Web Service的器重对象是跨平台的可互操作性。为了贯彻这一对象,Web Service完全依靠XML(可扩张标识语言)、XSD(XML Schema)等独立于阳台、独立于软件经销商的正规化,是创设可互操作的、遍及式应用程序的新平台。由此选拔Web Service有数不尽亮点:

复制代码 代码如下:

XML:(Extensible Markup Language)扩展型可标识语言。面向长期的一时数据管理、面向万维互连网,是Soap的基础。

下一场在后台写调用的代码,调用从前和采纳任何的靶子同样,要先实例化,实例化的点子是localhost.Servicea = new localhost.瑟维斯();然后就足以经过a来拜访WebService中间提供的秘籍了。在这么些例子里面,动态的创立了三个button控件来触发WebService的调用,后台代码如下:
运作后方可知到效果,如下图所示,在前头四个Textbox里面输入七个操作数,在个中的下拉列表中接纳操作符,然后点击"="号,将统计的结果输出到第四个Textbox里面。

点击"调用"开关,就能够看到用XML格式再次回到的Web Service结果下图。表明我们的Web 瑟维斯情况未有失水准,并且还最早接触了一晃最简易的Web Service。

比如说,客户能够支付多个购进应用程序,以自行获取来自分歧经销商的价格消息,进而使客商能够采用承包商,提交订单,然后追踪货色的运载,直至收到货色。而经销商的应用程序除了在Web上提供劳动外,还足以选取XML Web Service检查顾客的信用、抽出货款,并与货物运输企业办理货物运输手续。

从以上论述可以看到,Web Service在经过Web进行互操作或远程调用的时候是最管用的。可是,也可能有局地气象,Web Service根本不可能带来另外受益,Web Service有弹指间劣点:

4、软件和数目重用

 图片 4

咱俩在那就演练调用webservice的八个议程,做一个粗略的调用的事例,先在网站的前台增多多少个控件,代码如下:

一样点击addition方法,步向addition方法的调用页。

从上述论述能够观望,Web Service在经过Web实行互操作或远程调用的时候是最管用的。可是,也许有部分气象,Web Service根本不能够带来任何功利,Web Service有须臾间瑕玷:

比方,客商能够支付四个购买贩卖应用程序,以自行获取来自分裂承包商的价格消息,进而使客商能够选择代理商,提交订单,然后追踪物品的运载,直至收到货品。而承包商的应用程序除了在Web上提供服务外,还足以采纳XML Web Service检查客商的信用、收取货款,并与货物运输企业管理办公室理货运手续。

查看Service.cs代码,你会开掘VS.Net 二〇〇五曾经为Web Service文件创建了缺省的框架。原始代码为:

view plaincopy to clipboardprint?
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>   
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">   
<html xmlns="">   
<head runat="server">   
    <title>无标题页</title>   
</head>   
<body>   
    <form id="form1" runat="server">   
    <div>   
        <asp:TextBox ID="Num1" runat="server"></asp:TextBox>   
             <select id="selectOper" runat = "server">   
                 <option> </option>   
                 <option>-</option>   
                 <option>*</option>   
                 <option>/</option>   
             </select>   
             <asp:TextBox ID="Num2" runat="server"></asp:TextBox>   
        <asp:Button ID="Button1" runat="server" Text="=" onclick="Button1_Click" />   
             <asp:TextBox ID="Result" runat="server"></asp:TextBox>   
    </div>   
    </form>   
</body>   
</html>  
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="Num1" runat="server"></asp:TextBox>
             <select id="selectOper" runat = "server">
                 <option> </option>
                 <option>-</option>
                 <option>*</option>
                 <option>/</option>
             </select>
             <asp:TextBox ID="Num2" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="=" onclick="Button1_Click" />
             <asp:TextBox ID="Result" runat="server"></asp:TextBox>
    </div>
    </form>
</body>
</html>  

2、应用程序集成

XML Web services 提供了在松耦合意况中央银行使规范左券(HTTP、XML、SOAP 和 WSDL)交流新闻的本领。信息能够是结构化的、带项指标,也可以是安枕无忧定义的。

2.1、用创制二个最轻巧易行的Web Service

WSDL:(Web Services Description Language) WSDL 文件是多少个 XML 文书档案,用于证圣元(Synutra)(Nutrilon)组 SOAP 新闻以及如何沟通这个音信。大好些个状态下由软件自动生成和应用。

XML:(Extensible 马克up Language)扩大型可标志语言。面向短期的临时数据管理、面向万维互联网,是Soap的基础。

 图片 5

Soap:(Simple Object Access Protocol)简单对象存取公约。是XML Web Service的通信合同。当客户通过UDDI找到您的WSDL描述文书档案后,他透过方可SOAP调用你建构的Web服务中的一个或四个操作。SOAP是XML文书档案格局的调用方法的正规化,它能够支撑区别的底层接口,像HTTP(S)或许SMTP。

1.早先时期的 XML Web 瑟维Stone常是能够实惠地合一应用程序的新闻来自,如股价、天气预告、体育成就等等。

时下,公司和个体还利用着多数桌面应用程序。当中一部分只供给与本机上的别的程序通讯。在这种情况下,最佳就不要用Web Service,只要用本地的API就能够了。COM特别适合于在这种状态下办事,因为它既小又快。运转在一样台服务器上的服务器软件也是这么。当然Web 瑟维斯 也能用在那几个场馆,但那样不仅仅费用太大,而且不会推动别样好处。

 图片 6

复制代码 代码如下:

到此三个贰个简易的WebService的费用和调用就早就完结了,在其实使用中能够依照自个儿的急需,写一些功效壮大的,复杂的WebService,不管多么复杂,整个流程都以那般的。

XML Web services 提供了在松耦合意况中使用标准协议(HTTP、XML、SOAP 和 WSDL)调换音讯的力量。音讯能够是结构化的、带项目标,也得以是不敢苟同定义的。

1.3、XML Web Service的应用

Web 瑟维斯也叫XML Web ServiceWebService是一种能够吸取从Internet恐怕Intranet上的别的系统中传送过来的央浼,轻量级的单独的通信手艺。是:通过SOAP在Web上提供的软件服务,使用WSDL文件实行认证,并由此UDDI举行挂号。

view plaincopy to clipboardprint?
using System;   
using System.Linq;   
using System.Web;   
using System.Web.Services;   
using System.Web.Services.Protocols;   
using System.Xml.Linq;   
[WebService(Namespace = "")]   
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]   
// 若要允许使用 ASP.NET AJAX 从剧本中调用此 Web 服务,请打消对下行的讲明。   
// [System.Web.Script.Services.ScriptService]   
public class Service : System.Web.Services.WebService   
{   
    public Service () {   
        //倘若使用布置的机件,请撤除注释以下行    
        //InitializeComponent();    
    }   
    //[WebMethod]   
    //public string HelloWorld()   
    //{   
    //    return "Hello World";   
    //}   
    [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;   
    }   
}  
using System;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
[WebService(Namespace = "")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// 若要允许利用 ASP.NET AJAX 从剧本中调用此 Web 服务,请撤消对下行的评释。
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
    public Service () {
        //假使使用规划的零件,请打消注释以下行 
        //InitializeComponent(); 
    }
    //[WebMethod]
    //public string HelloWorld()
    //{
    //    return "Hello World";
    //}
    [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;
    }
}  

 

选好存款和储蓄地方,语言后点击显明,步向私下认可页面。然后先增加Web引用,把Web瑟维斯引到如今的工程里面。方法是:在财富管理器中式茶食击右键,接纳增添Web 援引,调出对话框:

 

在参数方面输入参数i=3,j=3,如上海体育场所,点击调用,就能够看看用XML格式重返的Web Service结果(i与j相加的结果)下图

using System;  
using System.Linq;  
using System.Web;  
using System.Web.Services;  
using System.Web.Services.Protocols;  
using System.Xml.Linq;  
[WebService(Namespace = "]  
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]  
// 若要允许使用 ASP.NET AJAX 从剧本中调用此 Web 服务,请撤除对下行的疏解。  
// [System.Web.Script.Services.ScriptService]  
public class Service : System.Web.Services.WebService  
{  
    public Service () {  
        //假若使用布置的零件,请裁撤注释以下行   
        //InitializeComponent();   
    }  
    [WebMethod]  
    public string HelloWorld()  
    {  
        return "Hello World";  
    }  

using System;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
[WebService(Namespace = "]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// 若要允许使用 ASP.NET AJAX 从剧本中调用此 Web 服务,请打消对下行的讲明。
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
    public Service () {
        //假诺使用安插的机件,请撤除注释以下行
        //InitializeComponent();
    }
    [WebMethod]
    public string HelloWorld()
    {
        return "Hello World";
    }
}

view plaincopy to clipboardprint?
using System;   
using System.Linq;   
using System.Web;   
using System.Web.Services;   
using System.Web.Services.Protocols;   
using System.Xml.Linq;   
[WebService(Namespace = "")]   
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]   
// 若要允许使用 ASP.NET AJAX 从剧本中调用此 Web 服务,请撤销对下行的讲解。   
// [System.Web.Script.Services.ScriptService]   
public class Service : System.Web.Services.WebService   
{   
    public Service () {   
        //假若使用安顿的机件,请撤除注释以下行    
        //InitializeComponent();    
    }   
    [WebMethod]   
    public string HelloWorld()   
    {   
        return "Hello World";   
    }   
}  
using System;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
[WebService(Namespace = "")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// 若要允许选择 ASP.NET AJAX 从剧本中调用此 Web 服务,请裁撤对下行的疏解。
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
    public Service () {
        //假如使用规划的零部件,请撤除注释以下行 
        //InitializeComponent(); 
    }
    [WebMethod]
    public string HelloWorld()
    {
        return "Hello World";
    }
}

在众多施用中,全部的先后都是在Windows平台下行使COM,都运作在同贰个局域互连网。在那一个程序里,使用DCOM会比SOAP/HTTP有效得多。与此相邻近,如若三个.net顺序要三回九转到局域网络的另二个.net前后相继,应该使用.net Remoting。其实在.net Remoting中,也能够钦定使用SOAP/HTTP来实行Web Service 调用。不过最棒大概直接通过TCP进行RPC调用,那样会立见成效得多。

 到此地,大家会意识,其实webservice而不是那么的秘闻,它也只是只是个接口,对我们来说,侧注重就是是接口函数的编写.

而全套总结并非在本地开展的,是在Web服务端进行测算的下一场将结果通过XML返还给了调用方的,所以,在运作该程序的时候,WebService程序还非得运维,不然会报不能够连接远程服务器的卓殊,如下图:

接下来在后台写调用的代码,调用以前和应用其它的靶子一样,要先实例化,实例化的点子是localhost.Servicea = new localhost.Service();然后就足以由此a来拜访WebService之中提供的秘诀了。在那个事例里面,动态的创立了一个button控件来触发WebService的调用,后台代码如下:
运营后能够观察效用,如下图所示,在前面三个Textbox里面输入四个操作数,在中游的下拉列表中选用操作符,然后点击"="号,将总计的结果输出到第二个Textbox里面。

 图片 7

厂商级的应用程序开辟者都知道,企业里临时都要把用分裂语言写成的、在不一致平台上运转的各个程序集成起来,而这种购并将花费十分大的支付技艺。应用程序经常索要从运营的一台主机上的次第中获取数据;大概把数据发送到主机或任何平台应用程序中去。就算在同贰个平台上,差别软件厂家生产的种种软件也临时要求集成起来。通过Web Service,应用程序能够用专门的学问的格局把效果与利益和数码"暴露"出来,供其余应用程序使用。

复制代码 代码如下:

Web Service也叫XML Web ServiceWebService是一种能够摄取从Internet或许Intranet上的其它系统中传送过来的呼吁,轻量级的单身的广播发表才能。是:通过SOAP在Web上提供的软件服务,使用WSDL文件举行表达,并透过UDDI举办挂号。

 图片 8

.net平台内建了对Web Service的支撑,富含Web Service的创设和动用。与任何开支平台区别,使用.net平台,你无需任何的工具可能SDK就能够完毕Web Service的支出了。.net Framework本人就完美辅助Web 瑟维斯,蕴涵劳动器端的呼吁管理器和对客商端发送和经受SOAP音信的支撑。下来咱们就一步一步的用Microsoft Visual Studio .net 二〇〇七8(后边简称VS.Net 二〇〇九)创制和行使四个简约的Web Service。

2、局域网的局地应用程序

1、跨防火墙的通讯

二、Web Service开发

 图片 9

1.2、XML Web Service的特点

2、应用程序集成

后台代码如下:

而整整总括并非在该地开展的,是在Web服务端进行测算的下一场将结果通过XML返还给了调用方的,所以,在运作该程序的时候,WebService程序还非得运行,否则会报非常小概连接远程服务器的百般,如下图:

Web Service是B2B集成成功的尤为重要。通过Web Service,集团可以只需把第一的商务应用"揭露"给钦点的代理商和客商,就足以了,Web Service运转在Internet上,在世界其余地方都可自由完结,其运作花费就相对异常低。Web Service只是B2B集成的一个器重部分,还索要过多任何的局部手艺促成合龙。 用Web 瑟维斯来完结B2B集成的最大益处在于能够任性达成互操作性。只要把商务逻辑"揭示"出来,成为Web Service,就可以让别的钦命的同盟同伙调用那一个商务逻辑,而无论是他们的系统在怎样平台上运维,使用什么支出语言。那样就大大减少了花在B2B集成上的年月和资金。

1、 单机应用程序

 图片 10

转载地址:

1、单机应用程序

本文由67677新澳门手机版发布于计算机编程,转载请注明出处:php怎样调用webservice应用介绍,WebService接口创设及

关键词: