首页 新闻 搜索 专区 学院

WebService 如何在客户端调用?

0
悬赏园豆:5 [已解决问题] 解决于 2010-08-17 10:29

比如我在上个服务器1上添加了一个WebService 

我想在另一个服务器2上得到服务器1上的数据通通WebService 来取,要怎么才能得到

 服务器1上添加了这个

[WebMethod]    

public string getvalue() {        return "江西旅游网";    }

我本地怎么获取得或其它服务怎么取到

就比如http://www.6561000.com/webser/webnew.asmx 怎么取到它的值

林雨....的主页 林雨.... | 初学一级 | 园豆:116
提问于:2010-08-17 10:05
< >
分享
最佳答案
0

新建个服务:

 [WebService(Namespace = "http://tempuri.org/")]
    [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]
        public void UpdateClientInfo(ClientInfoEntity entity)
        {
            return;
        }
    }

定义个实体
    [Serializable]
    public class ClientInfoEntity
    {
        public string ClientName
        {
            get;
            set;
    }

添加WEB 引用:


客户端调用:
            WebServiceProxy.WebService1 p = new WebServiceProxy.WebService1();
            WebServiceProxy.ClientInfoEntity ey = new WebServiceProxy.ClientInfoEntity();
            entity.ClientName = "value";
            p.UpdateClientInfo(ey);
客户端获取或者设置都可以的。
收获园豆:5
HUHU慈悲 | 大侠五级 |园豆:9973 | 2010-08-17 10:09
其他回答(3)
0
不管客户端是Wetsite,webservice,winform或者是windows services都可以用同样的方式调用webservice.
在项目右键菜单中Add service reference...,输入webservice的地址,例如:http://www.6561000.com/webser/webnew.asmx.  
然后vs会帮你生成本地代理类。你直接使用本地代理类就可以了。
jowo | 园豆:2834 (老鸟四级) | 2010-08-17 10:10
0

1,通过 svcutil 工具生成客户端代理类;

2,在你的 vs 项目中通过"添加服务引用"生成客户端代理类;

3,通过 webclient 组件 post 请求,并读取响应内容,post的消息格式和响应的消息格式,通过这里查看:

http://www.6561000.com/webser/webnew.asmx?op=getvalue

Launcher | 园豆:45045 (高人七级) | 2010-08-17 10:10
0

在服务器2的项目上,添加web引用,然后填写你服务器1项目的webservce地址,添加引用后,你在服务器2的项目中就可以引用这个命名空间,并可以实例化服务器1的webservice,并调用相关的方法,在cs中使用了。

Astar | 园豆:40805 (高人七级) | 2010-08-17 10:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册