复制代码 代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Net;
using System.IO;
using System.Web.Services.Description;
using System.CodeDom;
using Microsoft.CSharp;
using System.CodeDom.Compiler;
using System.Reflection;
namespace HTTPS
{
public class WSHelper
{
/// < summary>
/// 动态调用web服务
/// < /summary>
/// < param name="url">WSDL服务地址< /param>
/// < param name="methodname">方法名< /param>
/// < param name="args">参数< /param>
/// < returns>< /returns>
public static object InvokeWebService(string url, string methodname, object[] args)
{
return WSHelper.InvokeWebService(url, null, methodname, args);
}
/// < summary>
/// 动态调用web服务
/// < /summary>
/// < param name="url">WSDL服务地址< /param>
/// < param name="classname">类名< /param>
/// < param name="methodname">方法名< /param>
/// < param name="args">参数< /param>
/// < returns>< /returns>
public static object InvokeWebService(string url, string classname, string methodname, object[] args)
{
string @namespace = "EnterpriseServerBase.WebService.DynamicWebCalling";
if ((classname == null) || (classname == ""))
{
classname = WSHelper.GetWsClassName(url);
}
try
{ //获取WSDL
WebClient wc = new WebClient();
Stream stream = wc.OpenRead(url + "?WSDL");
ServiceDescription sd = ServiceDescription.Read(stream);
ServiceDescriptionImporter sdi = new ServiceDescriptionImporter();
sdi.AddServiceDescription(sd, "", "");
CodeNamespace cn = new CodeNamespace(@namespace);
//生成客户端代理类代码
CodeCompileUnit ccu = new CodeCompileUnit();
ccu.Namespaces.Add(cn);
sdi.Import(cn, ccu);
CSharpCodeProvider icc = new CSharpCodeProvider();
//设定编译参数
CompilerParameters cplist = new CompilerParameters();
cplist.GenerateExecutable = false;
cplist.GenerateInMemory = true;
cplist.ReferencedAssemblies.Add("System.dll");
cplist.ReferencedAssemblies.Add("System.XML.dll");
cplist.ReferencedAssemblies.Add("System.Web.Services.dll");
cplist.ReferencedAssemblies.Add("System.Data.dll");
//编译代理类
CompilerResults cr = icc.CompileAssemblyFromDom(cplist, ccu);
if (true == cr.Errors.HasErrors)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
foreach (System.CodeDom.Compiler.CompilerError ce in cr.Errors)
{
sb.Append(ce.ToString());
sb.Append(System.Environment.NewLine);
}
throw new Exception(sb.ToString());
}
//生成代理实例,并调用方法
System.Reflection.Assembly assembly = cr.CompiledAssembly;
Type t = assembly.GetType(@namespace + "." + classname, true, true);
object obj = Activator.CreateInstance(t);
System.Reflection.MethodInfo mi = t.GetMethod(methodname);
return mi.Invoke(obj, args);
// PropertyInfo propertyInfo = type.GetProperty(propertyname);
//return propertyInfo.GetValue(obj, null);
}
catch (Exception ex)
{
throw new Exception(ex.InnerException.Message, new Exception(ex.InnerException.StackTrace));
}
}
private static string GetWsClassName(string wsUrl)
{
string[] parts = wsUrl.Split('/');
string[] pps = parts[parts.Length - 1].Split('.');
return pps[0];
}
}
}
调用
复制代码 代码如下:
string url = "http://webservice.webxml.com.cn/WebServices/TrainTimeWebService.asmx";
string[] args = new string[2];
args[0] = "k123";
args[1] = "";
object result = WSHelper.InvokeWebService(url, "getDetailInfoByTrainCode", args);
DataSet ds = (DataSet)result;
this.GridView1.DataSource = ds;
this.GridView1.DataBind();
相关推荐:
SEO在广告领域的深度解析:如何利用SEO提升广告效果,网文写作ai工具
ChatGPT付款被拒?如何应对与解决常见支付问题,掉包ai
seo给你什么帮助,seo的利与弊 ,ai 大厨
SEO范例:如何通过优化提升网站流量,获取更多商机,广州抖音seo搜索广告
SEO百度优化:让你的品牌在搜索引擎中脱颖而出,日照网站推广策划
企业关键字-助力企业成功的隐形动力,闽侯县企业网站建设
好用的AI写作软件,让创作更高效
SEO优化顾问:让您的网站脱颖而出的秘密武器,ai ps 群
SEO努力:提升网站排名的关键策略,网站建设微企动力
ChatGPT打不开实时问题解决方案:让你的AI助手始终在线,psd 转ai
AI自动化:开启智能未来的无限可能,simplify ai
seo种草什么意思,seo yoo na ,三维地震反演AI
seo涉及什么内容,seo主要包括 ,法医使用ai
SEO功能:助力网站流量提升与品牌曝光,天津公司网站建设与维护
SEO查看-如何通过精确分析提升网站流量与排名,东丽网站建设价格
SEO快速优化排名:助你网站跃升搜索引擎首页,ai彩虹立体9怎么做
互联网快照:记录数字时代的每个瞬间,全网seo怎么优化内容
ChatGPT页面不自动显示最新消息:如何解决这一困扰,提升使用体验?,斑马ai幼儿百度云网盘
seo稿件是什么意思,seo文章写作要求 ,ai写作未来展望和展望
《收录情况:数字时代的网络信息检索与价值体现》,山东全域营销推广软件客服电话
SEO总计:如何通过SEO优化实现网站流量和排名的飞跃,三元桥网站优化
OpenAI新产品与现有技术的完美结合:赋能未来的智能变革,培训 ai
SEO站群:打造强大网络营销引擎,助力企业快速提升排名与流量,seo网站排名案例
AI免费写文章生成器高效写作新革命
ChatGPT不能用?揭秘你可能忽视的真相和解决方法,强国ai2022
ChatGPT:基于Transformer技术的语言模型,开创人工智能未来,AI独战OK
ChatGPT桌面版无法加载?快速解决方案及常见问题解析,ai媚眼
SEO大量优化:如何通过精准策略提升网站流量,突破搜索引擎排名瓶颈,吕梁本地网站推广平台
seo用什么手法,seo方式 ,ai绘画飞翔
什么是SEO金融,seo是做什么的 ,ai中转程序
AI免费生成:开启智能创作新纪元,助力你的创意无限可能
SEO做网站点击:提升网站流量的关键策略,国内ai写作论文
用AI写文章,释放你的创作潜力!
seo网络推广要做什么,seo 网络推广 ,ai少女喝药
seo竞价做的什么工作,seo 竞价 ,office智能ai
AI人工智能:改变未来的科技革命
SEO关键词是什么意思?全面解析SEO关键字的核心作用,华为ai音箱 百度ai音箱
SEO分类:从基础到进阶,全面解析SEO优化的关键要素,新建设网站排名
SEO重要性与企业互联网发展的必由之路,互联网营销推广平台设计
SEO学堂:开启数字营销新时代,全面提升网站排名与流量,文山ai营销推广方案
SEO可以帮助网站在搜索引擎中获得较高的排名-助力企业数字化转型的关键,赵立新AI换脸图片对比
SEO提高:如何通过精准优化让网站流量翻倍,优化排名seo加盟费用
为什么seo推广那么多,seo推广难吗 ,东莞ai听译平台
seo需要学习什么语言,做seo需要懂什么技术 ,ai软件制作教程
SEO新闻:2025年最新趋势与最佳实践,你不可错过的SEO战略,郑州网络营销推广的优势
软件AI:颠覆未来的智能革命
ChatGPT打开后空白:如何解决这个困扰并高效使用AI助手,ai四声怎么写
AI人工智能:开发与应用的必备软件推荐
ChatGPTO1免费:突破智能聊天的极限,体验AI无限可能,糯米ai唱歌
SEO快速提升SEO排名的有效策略:让你的网页飞跃搜索引擎,ai调色食物