Webservice pingpong

Author: e | 2025-04-24

★★★★☆ (4.2 / 3702 reviews)

mall tycoon

Download WebService PingPong latest version for Windows free. WebService PingPong latest update: Aug

zebra striping

WebService PingPong 1.0.0.0 - Download

News Tips Samsung Galaxy S6 Samsung Galaxy S6 Edge Sprint Galaxy S6 T-Mobile Galaxy S6 SIM unlocking your Galaxy S6 can be a farcry if your variant has locked bootloader and cannot be rooted but thankfully we’ve PingPong Root that works even on the AT&T and Verizon Galaxy S6 variants which come with locked bootloader. However, that’s limited to the OE2 firmware update, if you’ve OE3 or any further updates installed on your device then PingPong would probably not work for you.For Galaxy S6 variants which come with an unlocked bootloader but are carrier locked can easily be rooted with CF Auto Root tool by Chainfire. Rooting is a pre-requisite for SIM unlocking Galaxy S6 using the methods discussed below, if your Galaxy S6 variant couldn’t be rooted then the tools discussed below would not work for you.Step 1: Root your Galaxy S6Root method 1: PingPong RootDownload PingPing Root APK file.Install PingPong Root apk on your Galaxy S6. It might also ask you to install SuperSU as well alongside. Do it.Open PingPong Root app and hit the “Get root!” button. The app will start processing and if it’s successfully rooted your device, you’ll get “It is recommended to reboot your device NOW” prompt.Reboot your Galaxy S6 and verify root access using this app.Root method 2: CF Auto RootDownload CFAR for our Galaxy S6 variant from hereDownload Odin 3.10.6Download CF-Auto-Root for your device from the links above and extract the .zip file on your PC once it’s downloaded.Open Odin 3.10.6 on your PC.Boot your Galaxy S6 into Download mode:Switch off your phone.Press and hold “Home + Power + Volume down” buttons for a few seconds until you see a warning screen.Press Volume Up on the warning screen to accept it and boot into Download mode.Once your S6 is in download mode, connect it to the PC with a USB cable. The Odin window on PC should detect the phone and show an “Added!!” message.Now click on the PDA tab on Odin window and select the CF-Auto-Root (.tar.md5) file from the files you extracted in Step 1.└ Note: DON’T play with any

Download daum potplayer 1.7.21566 (64 bit)

WebService PingPong for Windows - CNET Download

Download.com has chosen not to provide a direct-download link for this product and offers this page for informational purposes only.Developer’s DescriptionChat with your friends across Google Talk and Facebook easily.One app for all your Chats & SMS. Awesome chat across Facebook, Google talk, with free SMS around the world. Talk.to is a FREE multi protocol instant messaging (MIM) platform that lets you chat with your friends across Gtalk, Facebook, and even send free SMS to your contacts, anywhere in the world. Awesome features like using your existing accounts to start chatting, Free SMS, Persistent groups across Facebook & Google talk, read and delivery notifications and unlimited chat history. Features you will love: "Instant" messaging: Lightning fast loading, logging in, message sending and receiving â?¢ No sign up: Just use your existing Facebook, Google or Pingpong account to login and start chatting Pingpong service: Enables you to chat with your colleagues using your official Id - with persistent groups, history and file sharing Free SMS: Send Free SMS to your contacts and receive their replies in the same chat window Share files - Just drag the photo, video or document you want to share into your chat window and send it to them instantly Read and Delivery receipts: Real-time Read and Delivery receipts, across Pingpong, Facebook and Gtalk. Comprehensive History: Access chat history of all your accounts across all your devices using our web, desktop or mobile clients. Available across Windows desktop, Android, iPhone, Chrome app for Mac & Linux, and Windows Phone.

WebService PingPong Crack Keygen For (LifeTime)

Skip to main contentSkip to in-page navigation This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. -->WebServiceAttribute Class Reference Definition Used to add additional information to an XML Web service, such as a string describing its functionality. public ref class WebServiceAttribute sealed : Attribute [System.AttributeUsage(System.AttributeTargets.Class)]public sealed class WebServiceAttribute : Attribute [System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Interface)]public sealed class WebServiceAttribute : Attribute []type WebServiceAttribute = class inherit Attribute []type WebServiceAttribute = class inherit Attribute Public NotInheritable Class WebServiceAttributeInherits Attribute Inheritance Attributes Examples The following example sets the Description property of the WebServiceAttribute to "Common Server Variables" and sets the XML namespace to using System; using System.Web.Services; [ WebService(Description="Common Server Variables",Namespace=" public class ServerVariables: WebService { [ WebMethod(Description="Obtains the Server Computer Name",EnableSession=false)] public string GetMachineName() { return Server.MachineName; } } Imports SystemImports System.Web.Services _Public Class ServerVariables Inherits WebService _ Public Function GetMachineName() As String Return Server.MachineName End FunctionEnd Class Remarks The WebServiceAttribute is not required for an XML Web service to be published and executed. You can use the WebServiceAttribute to specify a name for the XML Web service that is not restricted by the rules for a common language runtime identifier, which is used in the service description and the Service help page for the XML Web service.An XML Web service should change its default XML namespace before it is made public. Each XML Web service needs a unique XML namespace to identify it so that client applications can distinguish it. Download WebService PingPong latest version for Windows free. WebService PingPong latest update: Aug

Web services monitored using WebService PingPong

Android root apk contains multiple exploits to gain root access on your Android. It allows you root your Android versions from 1.5 to 4.2 currently. Moreover, this root app is designed with an option to unroot your Android device in one click. Framaroot Framaroot is one of the best root apps to root Android phone in one click. This root apk allows you to root almost all Android devices. It is compatible with any popular Android version. In newer versions of Framaroot, you can also unroot your Android device in one click like SRS Root. This powerful Android rooting tool enables you t root Android without PC. Rooting Android with Framaroot apk is more technical than the King Root, iRoot and Kingo Root Apk recommended above. But you canfrequently gets updated more often than other root apps. PingPong Root PingPong Root can be the best choice if you want to root Samsung Galaxy phones. It pay more attentions to Samsung Android devices. PingPong Root is very user friendly and specially you can root Samsung Galaxy S6 or S6 edge without wiping your data. Similar to all the discussed root apps above, it supports most of the ROM versions. We have tested it with a few Samsung phones and can recommend it as a good root apk to root Android. Part 2. How to restore Android data after rooting As you have already known, rooting Android is not an always safe process. It also brings you many risks. And a failure Android rooting may cause data loss. So you should back up your important data before rooting. If you unfortunately lose some important data, you still have a big chance to get them back. Here we sincerely recommend the professional Android Data Recovery to help you do that. First, you should free download and install it on your computer. Step 1 Launch Android Data Recovery After downloading, install and run this powerful Android data recovering software on your computer. Connect your Android phone to it with UBS cable. Step 2 Allow USB debugging A pop-up message prompts you of allowing USB

WebService PingPong 1.0.0.0 - Download, Screenshots - Softpedia

1.直接调用已知webservice路径,则可以直接 添加服务引用--高级--添加web引用 直接输入webservice URL。这个比较常见也很简单即有完整的webservice文件目录如下图所示,也可以在本地IIS根据webservice文件目录新发布一个webservice,然后程序动态调用,修改Url1public new string Url { set; get; }2.根据wsdl文件生成webservice 的.cs文件 及 生成dll C#调用 有时没有这么多文件,只有wsdl文件wsdl文件可以有别人提供或者根据webservice地址获取: Studio 2013->Visual Studio Tools->VS2013 开发人员命令提示命令行输入wsdl E:\WS.wsdl /out:WS.csE:\WS.wsdl 是wsdl文件存储路径,也可以是 Program Files\Microsoft Visual Studio 12.0\WS.cs已经自动生成.cs文件看函数声明,结构体等都非常方便然后命令行执行csc /t:library WS.cs同样的路径下,生成了WS.dll,拷贝出去放到项目文件夹下,C# winform程序也可以添加引用了。生成的文件默认在这里:默认生成的SOAP版本为1.1,可以G:\Program Files\Microsoft Visual Studio 12.0>wsdl E:\e.wsdl /protocol:SOAP12 /out:e.cs来指定1.23.C# 动态调用WebService 在C#程序中,若要调用WebService,一般是采用"添加Web引用"的方式来实现的。但如果此WebService的URL是在程序运行过程中才能获得的,那怎么办呢?那就必须是"动态"调用这个WebService了。举个使用它的例子:object[] args = new object[1]; args.SetValue("cyy_JS", 0); DataTable dt = WebServiceHelper.InvokeWebService(" "GetUserTreeListData", args) as DataTable; 恩~有点麻烦,这意味着每次我都要把想调用的函数的参数组织成一个object[]才行,且每次调用InvokeWebService都是在内存中创建动态程序集,效率极低。则次种方法绝对没有直接用“实例名.方法名(参数列表)”来的舒服。我把它放到一个叫WebServiceHelper.cs的类里面了。using System.IO;using System.Web.Services.Description;using Microsoft.CSharp;using System.CodeDom.Compiler;using System.CodeDom; /// /// 动态调用WebService /// /// WebService地址 /// 类名 /// 方法名(模块名) /// 参数列表 /// object public static object InvokeWebService(string url, string classname, string methodname, object[] args) { string @namespace = "ServiceBase.WebService.DynamicWebLoad"; if (classname == null || classname == "") { classname = WebServiceHelper.GetClassName(url); } //获取服务描述语言(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 csc = new CSharpCodeProvider(); ICodeCompiler icc = csc.CreateCompiler(); //设定编译器的参数 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 StringBuilder(); foreach (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); } private static string GetClassName(string url) { string[] parts = url.Split('/'); string[] pps = parts[parts.Length - 1].Split('.'); return pps[0]; } 本文转自:

WebService PingPong para Windows - CNET Download

说明:应某童鞋要求,看了下Duplicati,Duplicati是一个备份客户端,可以在本地存储,云存储服务和远程文件服务器上。备份的时候使用AES-256加密来保护您的备份,并自动压缩,支持Zip、7z、LZMA2压缩。而且当你备份一次后,后期只将你变化的数据添加到备份文件里,极大程度上节省了时间和空间。如果备份中途出现中断或损坏会尽可能帮你修复文件,自带Web界面,更好的进行管理,支持Win、Linux、Mac平台,更多介绍可以查看→传送门,这里就只说Linux下安装方法。支持的远程服务器/云储存服务:FTPFTPOpenStack Object Storage / SwiftS3 CompatibleSFTP (SSH)WebDAVAmazon Cloud DriveAmazon S3Azure blobB2 Cloud StorageBox.comDropboxGoogle Cloud StorageGoogle DriveHubiCJottacloudMega.nzMicrosoft Office 365 GroupsMicrosoft OneDriveMicrosoft OneDrive for BusinessMicrosoft SharePointOpenStack Simple StorageRackspace CloudFilesRcloneSia Decentralized Cloud截图安装官方网站: 7系统#安装依赖yum install yum-utils -yrpm --import " --add-repo install mono-devel -y#安装Duplicatirpm -ivh --nodeps --force#CentOS 6系统#安装依赖yum install yum-utils -yrpm --import " --add-repo install mono-devel -y#安装Duplicatirpm -ivh --nodeps --force#Debian 7+、Ubuntu 14+系统#安装Monoapt-get updateapt-get install mono-devel -y#安装Duplicatiwget -i duplicati*.deb#如果安装报错,使用该命令修复一下就自动安装成功了apt-get -f install -y2、启动#无需密码访问/usr/bin/mono /usr/lib/duplicati/Duplicati.Server.exe --webservice-interface=any#访问需输入密码moerats,可自定义其它密码,修改最后面参数即可/usr/bin/mono /usr/lib/duplicati/Duplicati.Server.exe --webservice-interface=any --webservice-password=moerats然后就可以通过IP:8200访问程序了,对于CentOS系统,还需要开启8200端口,开启如下:#CentOS 6iptables -I INPUT -p tcp --dport 8200 -j ACCEPTservice iptables saveservice iptables restart#CentOS 7firewall-cmd --zone=public --add-port=8200/tcp --permanentfirewall-cmd --reload开机自启最后我们还可以设置下进程守护和开机自启来提高使用效率。这里保证所有系统都能设置到,就说2种方法,Systemctl和Supervisor。貌似CentOS 6、Debian 7、Ubuntu 14不支持Systemctl,建议使用Supervisor。1、使用Systemctl新增systemd配置文件,使用命令:#以下为一整条命令,先自定义ExecStart后面的密码moerats,再一起复制到SSH运行echo "[Unit]Description=Duplicati Process Guardian[Service]ExecStart=/usr/bin/mono /usr/lib/duplicati/Duplicati.Server.exe --webservice-interface=any --webservice-password=moeratsRestart=on-failureRestartSec=15[Install]WantedBy=multi-user.target" > /etc/systemd/system/duplicati.service设置开机自启:systemctl enable duplicati启动Duplicati:systemctl start duplicati2、使用Supervisor为了方便,这里采用pip方式安装supervisor。安装pip:#CentOS 6.x 32位rpm -ivh install -y python-pip#CentOS 6.x 64位rpm -ivh install -y python-pip#CentOS 7.xyum install -y epel-releaseyum install -y python-pip#如果CentOS 7安装出现No package python-pip available,可以用以下命令进行安装wget get-pip.py#Debian/Ubuntu系统apt-get -y updateapt-get -y install python-pip安装Supervisor:pip install supervisorwget -N -P /etc/ --no-check-certificate "[program:duplicati]user=rootcommand=/usr/bin/mono /usr/lib/duplicati/Duplicati.Server.exe --webservice-interface=any --webservice-password=moeratsautorstart=trueautorestart=truestartsecs=15" >> /etc/supervisord.conf加入开机自启:echo "/usr/bin/supervisord -c /etc/supervisord.conf" >> /etc/rc.localchmod +x /etc/rc.local注意下该设置开机自启的方法对CentOS 7、Debian 9、Ubuntu 17+系统可能会没有作用,为啥就不说了,直接选Systemctl方案就行了。. Download WebService PingPong latest version for Windows free. WebService PingPong latest update: Aug Download WebService PingPong latest version for Windows free. WebService PingPong latest update: Aug

Comments

User5142

News Tips Samsung Galaxy S6 Samsung Galaxy S6 Edge Sprint Galaxy S6 T-Mobile Galaxy S6 SIM unlocking your Galaxy S6 can be a farcry if your variant has locked bootloader and cannot be rooted but thankfully we’ve PingPong Root that works even on the AT&T and Verizon Galaxy S6 variants which come with locked bootloader. However, that’s limited to the OE2 firmware update, if you’ve OE3 or any further updates installed on your device then PingPong would probably not work for you.For Galaxy S6 variants which come with an unlocked bootloader but are carrier locked can easily be rooted with CF Auto Root tool by Chainfire. Rooting is a pre-requisite for SIM unlocking Galaxy S6 using the methods discussed below, if your Galaxy S6 variant couldn’t be rooted then the tools discussed below would not work for you.Step 1: Root your Galaxy S6Root method 1: PingPong RootDownload PingPing Root APK file.Install PingPong Root apk on your Galaxy S6. It might also ask you to install SuperSU as well alongside. Do it.Open PingPong Root app and hit the “Get root!” button. The app will start processing and if it’s successfully rooted your device, you’ll get “It is recommended to reboot your device NOW” prompt.Reboot your Galaxy S6 and verify root access using this app.Root method 2: CF Auto RootDownload CFAR for our Galaxy S6 variant from hereDownload Odin 3.10.6Download CF-Auto-Root for your device from the links above and extract the .zip file on your PC once it’s downloaded.Open Odin 3.10.6 on your PC.Boot your Galaxy S6 into Download mode:Switch off your phone.Press and hold “Home + Power + Volume down” buttons for a few seconds until you see a warning screen.Press Volume Up on the warning screen to accept it and boot into Download mode.Once your S6 is in download mode, connect it to the PC with a USB cable. The Odin window on PC should detect the phone and show an “Added!!” message.Now click on the PDA tab on Odin window and select the CF-Auto-Root (.tar.md5) file from the files you extracted in Step 1.└ Note: DON’T play with any

2025-04-03
User2629

Download.com has chosen not to provide a direct-download link for this product and offers this page for informational purposes only.Developer’s DescriptionChat with your friends across Google Talk and Facebook easily.One app for all your Chats & SMS. Awesome chat across Facebook, Google talk, with free SMS around the world. Talk.to is a FREE multi protocol instant messaging (MIM) platform that lets you chat with your friends across Gtalk, Facebook, and even send free SMS to your contacts, anywhere in the world. Awesome features like using your existing accounts to start chatting, Free SMS, Persistent groups across Facebook & Google talk, read and delivery notifications and unlimited chat history. Features you will love: "Instant" messaging: Lightning fast loading, logging in, message sending and receiving â?¢ No sign up: Just use your existing Facebook, Google or Pingpong account to login and start chatting Pingpong service: Enables you to chat with your colleagues using your official Id - with persistent groups, history and file sharing Free SMS: Send Free SMS to your contacts and receive their replies in the same chat window Share files - Just drag the photo, video or document you want to share into your chat window and send it to them instantly Read and Delivery receipts: Real-time Read and Delivery receipts, across Pingpong, Facebook and Gtalk. Comprehensive History: Access chat history of all your accounts across all your devices using our web, desktop or mobile clients. Available across Windows desktop, Android, iPhone, Chrome app for Mac & Linux, and Windows Phone.

2025-03-31
User4815

Android root apk contains multiple exploits to gain root access on your Android. It allows you root your Android versions from 1.5 to 4.2 currently. Moreover, this root app is designed with an option to unroot your Android device in one click. Framaroot Framaroot is one of the best root apps to root Android phone in one click. This root apk allows you to root almost all Android devices. It is compatible with any popular Android version. In newer versions of Framaroot, you can also unroot your Android device in one click like SRS Root. This powerful Android rooting tool enables you t root Android without PC. Rooting Android with Framaroot apk is more technical than the King Root, iRoot and Kingo Root Apk recommended above. But you canfrequently gets updated more often than other root apps. PingPong Root PingPong Root can be the best choice if you want to root Samsung Galaxy phones. It pay more attentions to Samsung Android devices. PingPong Root is very user friendly and specially you can root Samsung Galaxy S6 or S6 edge without wiping your data. Similar to all the discussed root apps above, it supports most of the ROM versions. We have tested it with a few Samsung phones and can recommend it as a good root apk to root Android. Part 2. How to restore Android data after rooting As you have already known, rooting Android is not an always safe process. It also brings you many risks. And a failure Android rooting may cause data loss. So you should back up your important data before rooting. If you unfortunately lose some important data, you still have a big chance to get them back. Here we sincerely recommend the professional Android Data Recovery to help you do that. First, you should free download and install it on your computer. Step 1 Launch Android Data Recovery After downloading, install and run this powerful Android data recovering software on your computer. Connect your Android phone to it with UBS cable. Step 2 Allow USB debugging A pop-up message prompts you of allowing USB

2025-04-19
User8074

1.直接调用已知webservice路径,则可以直接 添加服务引用--高级--添加web引用 直接输入webservice URL。这个比较常见也很简单即有完整的webservice文件目录如下图所示,也可以在本地IIS根据webservice文件目录新发布一个webservice,然后程序动态调用,修改Url1public new string Url { set; get; }2.根据wsdl文件生成webservice 的.cs文件 及 生成dll C#调用 有时没有这么多文件,只有wsdl文件wsdl文件可以有别人提供或者根据webservice地址获取: Studio 2013->Visual Studio Tools->VS2013 开发人员命令提示命令行输入wsdl E:\WS.wsdl /out:WS.csE:\WS.wsdl 是wsdl文件存储路径,也可以是 Program Files\Microsoft Visual Studio 12.0\WS.cs已经自动生成.cs文件看函数声明,结构体等都非常方便然后命令行执行csc /t:library WS.cs同样的路径下,生成了WS.dll,拷贝出去放到项目文件夹下,C# winform程序也可以添加引用了。生成的文件默认在这里:默认生成的SOAP版本为1.1,可以G:\Program Files\Microsoft Visual Studio 12.0>wsdl E:\e.wsdl /protocol:SOAP12 /out:e.cs来指定1.23.C# 动态调用WebService 在C#程序中,若要调用WebService,一般是采用"添加Web引用"的方式来实现的。但如果此WebService的URL是在程序运行过程中才能获得的,那怎么办呢?那就必须是"动态"调用这个WebService了。举个使用它的例子:object[] args = new object[1]; args.SetValue("cyy_JS", 0); DataTable dt = WebServiceHelper.InvokeWebService(" "GetUserTreeListData", args) as DataTable; 恩~有点麻烦,这意味着每次我都要把想调用的函数的参数组织成一个object[]才行,且每次调用InvokeWebService都是在内存中创建动态程序集,效率极低。则次种方法绝对没有直接用“实例名.方法名(参数列表)”来的舒服。我把它放到一个叫WebServiceHelper.cs的类里面了。using System.IO;using System.Web.Services.Description;using Microsoft.CSharp;using System.CodeDom.Compiler;using System.CodeDom; /// /// 动态调用WebService /// /// WebService地址 /// 类名 /// 方法名(模块名) /// 参数列表 /// object public static object InvokeWebService(string url, string classname, string methodname, object[] args) { string @namespace = "ServiceBase.WebService.DynamicWebLoad"; if (classname == null || classname == "") { classname = WebServiceHelper.GetClassName(url); } //获取服务描述语言(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 csc = new CSharpCodeProvider(); ICodeCompiler icc = csc.CreateCompiler(); //设定编译器的参数 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 StringBuilder(); foreach (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); } private static string GetClassName(string url) { string[] parts = url.Split('/'); string[] pps = parts[parts.Length - 1].Split('.'); return pps[0]; } 本文转自:

2025-04-14
User5743

关于soapheader调用,可以参考C#调用Java的WebService添加SOAPHeader验证1.直接调用已知webservice路径,则可以直接 添加服务引用--高级--添加web引用 直接输入webservice URL。这个比较常见也很简单即有完整的webservice文件目录如下图所示,也可以在本地IIS根据webservice文件目录新发布一个webservice,然后程序动态调用,修改Urlpublic new string Url { set; get; }2.根据wsdl文件生成webservice 的.cs文件 及 生成dll C#调用 有时没有这么多文件,只有wsdl文件wsdl文件可以有别人提供或者根据webservice地址获取: Studio 2013->Visual Studio Tools->VS2013 开发人员命令提示命令行输入wsdl E:\WS.wsdl /out:WS.csE:\WS.wsdl 是wsdl文件存储路径,也可以是 Program Files\Microsoft Visual Studio 12.0\WS.cs已经自动生成.cs文件看函数声明,结构体等都非常方便然后命令行执行csc /t:library WS.cs同样的路径下,生成了WS.dll,拷贝出去放到项目文件夹下,C# winform程序也可以添加引用了。生成的文件默认在这里:默认生成的SOAP版本为1.1,可以G:\Program Files\Microsoft Visual Studio 12.0>wsdl E:\e.wsdl /protocol:SOAP12 /out:e.cs来指定1.23.C# 动态调用WebService 在C#程序中,若要调用WebService,一般是采用"添加Web引用"的方式来实现的。但如果此WebService的URL是在程序运行过程中才能获得的,那怎么办呢?那就必须是"动态"调用这个WebService了。举个使用它的例子: object[] args = new object[1]; args.SetValue("cyy_JS", 0); DataTable dt = WebServiceHelper.InvokeWebService(" "GetUserTreeListData", args) as DataTable; 恩~有点麻烦,这意味着每次我都要把想调用的函数的参数组织成一个object[]才行,且每次调用InvokeWebService都是在内存中创建动态程序集,效率极低。则次种方法绝对没有直接用“实例名.方法名(参数列表)”来的舒服。我把它放到一个叫WebServiceHelper.cs的类里面了。using System.IO;using System.Web.Services.Description;using Microsoft.CSharp;using System.CodeDom.Compiler;using System.CodeDom; /// /// 动态调用WebService /// /// WebService地址 /// 类名 /// 方法名(模块名) /// 参数列表 /// object public static object InvokeWebService(string url, string classname, string methodname, object[] args) { string @namespace = "ServiceBase.WebService.DynamicWebLoad"; if (classname == null || classname == "") { classname = WebServiceHelper.GetClassName(url); } //获取服务描述语言(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 csc = new CSharpCodeProvider(); ICodeCompiler icc = csc.CreateCompiler(); //设定编译器的参数 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 StringBuilder(); foreach (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); } private static string GetClassName(string url) { string[] parts = url.Split('/'); string[] pps = parts[parts.Length - 1].Split('.'); return pps[0]; } 参考

2025-04-19

Add Comment