首页 > 代码库 > C# vs2010 调用webservice

C# vs2010 调用webservice

如何调用已经发布的webservice,主要分为2个步骤(vs2010环境 C#)

  1. 发布webservice,使其处于服务状态。

  2. 创建一个asp.net程序(java等也可以),对webservice的方法进行调用。


  1. 发布webservice,可以参见

    http://mingsuper.blog.51cto.com/8269088/1439419

  2. 创建asp.net

    1)创建空的asp.net程序

    wKioL1PHgbrSmIo7AAYOD8NqKHM453.jpg2)建立测试用的页面,这里不过多叙述

    wKiom1PHgOXQFdJ_AAHhrrYw3dM623.jpg3)增加对webservice的web 引用,在工程上点击右键。

    wKiom1PHgYThuWtoAAdlpIH2KJk414.jpg4)在弹出的对话框中输入webservice的发布路径,点击go按钮。找到后,在下面的对话框中为这个引用起命名空间名。(这个名字在后续的操作中会被用到)

    wKiom1PHgf-yq1PoAAH-X5DvUXI858.jpg

    5)引入后是这样的

    wKiom1PHgoixzDDDAAEPU1R_Wtw902.jpg

    6)LoginService.wsdl是发布的webservice的描述文件

    wKiom1PHhCqyEaUyAAIyDKh1Vx0115.jpg7)在asp.net进行调用过程中,直接通过命名空间名找到对应的webservice类,这里是

    LoginServiceSoapClient(我发布的类名是LoginService 其自己加上了soapclient)。其中LoginServiceRef.UserInfo这个变量很有意思,它本身在asp.net工程中并没有被定义过,是在webservice的工程中被定义的,但在asp工程里也可以使用,而且属性方法都是存在的。

protected void LoginBtn_Click(object sender, EventArgs e)
    {
        string loginResult;
        LoginServiceRef.LoginServiceSoapClient service = new LoginServiceRef.LoginServiceSoapClient();
        LoginServiceRef.UserInfo userinfo = new LoginServiceRef.UserInfo();
        //UserInfo userInfo = new UserInfo();
        userinfo.UserName = UserName.Text;
        userinfo.Password = Password.Text;
        loginResult = service.CheckLoginUserInfo(userinfo);
        LoginResult.Text = loginResult;
    }


调用结果

wKiom1PHhhqDdKfqAAC7Ho2oQG0861.jpg

wKioL1PHhzOBePxyAAC8hJmMXCw873.jpg

wKiom1PHhhqwMUS4AAC773CCrso463.jpg