动态调用webservice方案

本文介绍了动态调用WebService的三种方案,包括其优点和缺点。方案一灵活性高但效率低,需要将参数组织成object[];方案二提高了调用效率,但因DLL引用问题不适用于跨平台;方案三通过HttpWebRequest获取WSDL,避免了创建代理类,但需要每次解析XML。
摘要由CSDN通过智能技术生成

动态调用WebService

方案一:

优点:可以根据需求灵活调用Java或者.Net WebService;客户端调用WebService方法简单

缺点:每次我都要把想调用的函数的参数组织成一个object[]才行,且每次调用InvokeWebService都是在内存中创建动态程序集(代理),效率低。

调用WebService方法

InvokeWebService

 

        /// <summary>

        /// 获取WebService类型  20101223

        /// </summary>

        /// <param name="wsUrl">WebService地址</param>

        /// <returns></returns>

        private static string GetWsClassName(string wsUrl)

        {

            string[] parts = wsUrl.Split('/');

            string[] pps = parts[parts.Length - 1].Split('.');

 

            return pps[0];

        }

 

        /// <summary>

        /// 调用WebService 20101223

        /// </summary>

        /// <param name="wsUrl">WebService地址</param>

        /// <param name="methodName">方法名称</param>

        /// <param name="args">参数列表</param>

        /// <returns></returns>

        public static string InvokeWebService(string wsUrl, string methodName, object[] args)

        {

            return InvokeWebService(wsUrl, null, methodName, args);

        }

 

        /// <summary>

        /// 调用WebService  20101223

        /// </summary>

        /// <param name="wsUrl">WebService地址</param>

        /// <param name="className">类名</param>

        /// <param name="methodName">方法名称</param>

        /// <param name="args">参数列表</param>

        /// <returns></returns>

        public static string InvokeWebService(string wsUrl, string className, string methodName, object[] args)

        {

            string @namespace = "EnterpriseServerBase.WebService.DynamicWebCalling";

            if ((className == null) || (className == ""))

            {

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值