Winform调用WebService实例!!!!!

解决方案 »

  1.   

    这个还需要什么实例?在winform项目上鼠标右键添加"web引用",然后输入类似于:"url.wsdl?"的地址,一步步配置下来,就可以直接调用函数了
      

  2.   

    没做过,参考:http://www.pianetamamma.com/aspcb/20100625/3980.htm
      

  3.   

    1楼已经说了, 添加Web引用 
    然后实例化, 并调用方法 :mywebservice.Service ws =   new testwebservice.mywebservice.Service();  Console.Writeline(ws.HelloWorld());  
      

  4.   

    机器猫大哥夸奖我了,再给个讲解你。http://www.cnblogs.com/kingwangzhen/archive/2009/12/01/1614346.html
      

  5.   

    是的,添加Web引用,然后输入WebService的地址,添加引用即可。这时候项目中多了个 Web References文件夹,里面那个WebService的图标的
    就是WebService的命名空间,可以用这个命名空间 . 后面就是你想要的类和方法了,可直接调用。[align=center]*********************************************************** 
                       欢迎使用 CSDN 小秘书
                      .Net 群,欢迎加入: 67784580
    ***********************************************************
    [/align]
      

  6.   

    如何建立和部署一个最简单的Web服务,通过C# Webservice实例的一个简单实例,了解如何使用C#创建Webservice。建立Web服务    1.在wwwroot目录下建立一个叫做Webservice的目录。    2.建立下面这样一个文件:〈%@ WebService Language="c#" Class="AddNumbers"%〉  using System;  using System.Web.Services;  public class AddNumbers : WebService  {  [WebMethod]  public int Add(int a, int b){  int sum;  sum = a + b;  return sum;  }  }      3.将这个文件保存为AddService.asmx(asmx是扩展名),保存到Webservice的目录中    4.现在我们建立了Web服务,已经准备好客户端使用    5.现在,你可以用下面的URL访问这个Web服务:    http://IP地址/Webservice/Addservice.asmx/Add?a=10&b=5    结果将以XML格式返回。在客户机上部署这个服务    1.在命令行输入:    WSDL http://IP地址/WebService/MathService.asmx /n:NameSp /out:FileName.cs    这个操作将建立一个称为FileName.cs的文件    说明:WSDL 指的是WebServices Description Language ,这个程序在Program Files\Microsoft.NET\FrameworkSDK\Bin 目录中。    NameSp是我们设置的名字空间的名字,将在后面部署这个服务的客户端的实现代码中使用到。    2.编译C# Webservice实例    CSC /t:library /r:system.web.dll /r:system.xml.dll FileName.cs    上述命令将生成一个dll文件,名字就是上面的asmx文件中的公共类的名字,在我们的例子中,就是:AddNumbers.dll    3.将生成的dll文件放到部署机的wwwroot\bin目录中。    在部署机的asp/aspx 中调用这个Web服务〈%@ import Namespace = "NameSp" % 〉  〈script language = "c#" runat = "server" 〉  public void Page_Load(object o, EventArgs e){  int x = 10;  int y = 5;  int sum;  //Instantiating the public class of the webservice  AddNumbers AN = new AddNumbers();  sum = AN.Add(x,y);  string str = sum.ToString();  response.writeline(str);  }  〈/script 〉       至此,我们就完成了一个C# Webservice实例。 Winform中对WebService的调用 
    在项目上右键菜单-“添加服务引用”-在打开的添加服务引用窗口点“高级”按钮,在打开的服务引用设置窗口点“添加Web引用”按钮,打开添加Web引用窗口,输入Web服务地址、Web引用名(命名空间),点“添加引用”按钮即可
    代码:
     Web引用名.Web服务名 spws = new Web引用名.Web服务名();
     spws.Web服务的方法名();
    如果要动态配置Web服务的地址,
     Web引用名.Web服务名 spws = new Web引用名.Web服务名();
     spws="http://localhost/webservice/StaticPageWS.asmx?WSDL";
     spws.Web服务的方法名();
      

  7.   

    如何建立和部署一个最简单的Web服务,通过C# Webservice实例的一个简单实例,了解如何使用C#创建Webservice。建立Web服务    1.在wwwroot目录下建立一个叫做Webservice的目录。    2.建立下面这样一个文件:〈%@ WebService Language="c#" Class="AddNumbers"%〉  using System;  using System.Web.Services;  public class AddNumbers : WebService  {  [WebMethod]  public int Add(int a, int b){  int sum;  sum = a + b;  return sum;  }  }      3.将这个文件保存为AddService.asmx(asmx是扩展名),保存到Webservice的目录中    4.现在我们建立了Web服务,已经准备好客户端使用    5.现在,你可以用下面的URL访问这个Web服务:    http://IP地址/Webservice/Addservice.asmx/Add?a=10&b=5    结果将以XML格式返回。在客户机上部署这个服务    1.在命令行输入:    WSDL http://IP地址/WebService/MathService.asmx /n:NameSp /out:FileName.cs    这个操作将建立一个称为FileName.cs的文件    说明:WSDL 指的是WebServices Description Language ,这个程序在Program Files\Microsoft.NET\FrameworkSDK\Bin 目录中。    NameSp是我们设置的名字空间的名字,将在后面部署这个服务的客户端的实现代码中使用到。    2.编译C# Webservice实例    CSC /t:library /r:system.web.dll /r:system.xml.dll FileName.cs    上述命令将生成一个dll文件,名字就是上面的asmx文件中的公共类的名字,在我们的例子中,就是:AddNumbers.dll    3.将生成的dll文件放到部署机的wwwroot\bin目录中。    在部署机的asp/aspx 中调用这个Web服务〈%@ import Namespace = "NameSp" % 〉  〈script language = "c#" runat = "server" 〉  public void Page_Load(object o, EventArgs e){  int x = 10;  int y = 5;  int sum;  //Instantiating the public class of the webservice  AddNumbers AN = new AddNumbers();  sum = AN.Add(x,y);  string str = sum.ToString();  response.writeline(str);  }  〈/script 〉       至此,我们就完成了一个C# Webservice实例。 Winform中对WebService的调用 
    在项目上右键菜单-“添加服务引用”-在打开的添加服务引用窗口点“高级”按钮,在打开的服务引用设置窗口点“添加Web引用”按钮,打开添加Web引用窗口,输入Web服务地址、Web引用名(命名空间),点“添加引用”按钮即可
    代码:
     Web引用名.Web服务名 spws = new Web引用名.Web服务名();
     spws.Web服务的方法名();
    如果要动态配置Web服务的地址,
     Web引用名.Web服务名 spws = new Web引用名.Web服务名();
     spws="http://localhost/webservice/StaticPageWS.asmx?WSDL";
     spws.Web服务的方法名();
      

  8.   

    给你找了个
    http://www.itqun.net/content-detail/123807.html
      

  9.   

    用C#写的winform调用webservice天气预报小软件教程我们来研究c#在winform上调用webservice实现一个的实例,开始之前先罗嗦几句,对于webservice我之前从来没有接触过,今天突然想为自己的手机做个天气预报小软件,所以才开始看资料,上网查别人做的教程,很多都是一带而过,大体的说该怎么做,具体的却很少,所以象我这样的菜鸟基本是一头雾水,没办法只有不断的试,经过一中午的努力终于做出来了。下面我把我做的每一步都详细的记录下来,希望跟我一样初级入门的人能更快速更省力的掌握好这个东东。
    我用的是vs2008,调用的webservice是网上的,网址是:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx页面如下:
     
    下面开始:
    1.打开vs2008,新建一个c#下的project项目
     
    点击选择windows Forms Application
     
    命个名为 weathertest
    2.这时候我们要设计窗体,设计窗体之前,我们研究一下网上的webservice会返回给我们什么。
    输入网址,打开网页以后我们发现,咦!!好几个方法,这里我们只调用其根据城市名字获得天气的那一个,所以我们就点它进去,其他的我们不理啦。学会了这个以后你们可以顺便去拿他们练习一下。点击getWeatherbyCityName那个链接,进去后上面就有介绍的该方法该如何调用,大家都能看得懂,这里我就不详解了啊。
    在测试那个文本框里输入一个城市名,比如:青岛  ,我们得到如下结果:
     
    根据这个前一页的介绍,这个方法返回的是一个string数组,里面有23个元素,所以上图中每一个<string></string>中间的元素就是数组的一个元素,这里我们就可以根据我们想要的数组元素来确定窗体的设计,我的设计如下: 
    Ok,设计完窗体,我们就开始研究如何调用网上的这个webservice啦。
    3.回到vs2008,右键点击解决方案选择add service reference
     
    在添加窗口中复制进我们要调用的webservice地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx 
    在namespace里输入我们自己定义的名字,这里我叫它Weather,点一下GO,等如上图以后,点击ok,工具就会自动把这个webservice添加到项目中。这时我们会看到多了个这个:
     
    这就说明到这步我们是正确的,接下来我们来编写调用它的代码:
    4.双击我们设计的窗体上的按钮,在click事件中输入代码:
    private void button1_Click(object sender, EventArgs e)
            {
              weathertest.Weather.WeatherWebServiceSoapClient w = new weathertest.Weather.WeatherWebServiceSoapClient("WeatherWebServiceSoap");
    //把webservice当做一个类来操作
                string[] s = new string[23];//声明一个string数组存放其返回的结果
                string c = this.textBox2.Text.Trim();//获得文本框2的内容
                s = w.getWeatherbyCityName(c);
    //以文本框内容为变量实现方法getWeatherbyCityName
               if (s[8] == "")
               { 
                    MessageBox.Show("暂时不支持您查询的城市");
                }
                else
                {
                  //  pictureBox1.Image = Image.FromFile(@"d:\image\" + s[8] + "");
    //将相应的值赋给相应的文本显示出来
                   textBox1.Text = s[0];
                textBox3.Text = s[1];
                textBox4.Text = s[2];
                textBox5.Text = s[4];
                textBox6.Text = s[5];
                textBox7.Text = s[6];
                textBox8.Text = s[7];
                textBox9.Text = s[10];
                textBox10.Text = s[12];
                textBox11.Text = s[13];
                textBox12.Text = s[14];
                textBox13.Text = s[17];
                textBox14.Text = s[18];
                textBox15.Text = s[19];
                }
            }输入完代码以后,运行,
     
    Ok,这个实例就完成了。
        看完这个实例相信大家都能更轻松更快速的掌握webservice的调用了吧,呵呵。
    最后说一下,由于本人水平较低,所以可能会有错误,请大家多多见谅哈,
    祝大家:
    好好学习,天天向上!