之前已经:
【调研】windows 服务器 接口 开发
想要实现:
写代码和接口去调用wsdl的接口
先去:
【未解决】Windows中用Visual Studio 2017去搭建一个wsdl的服务器端
C# 调用 wsdl
“1.首先需要清楚WSDL的引用地址
“1.首先需要清楚WSDL的引用地址
期间发现:
其实自己目的只是:想办法能搞懂如何C#中调用wsdl接口
how call wsdl in C#

how to call wsdl webservice in c# when request is xml and will return xml as response
从:
【调研】trffweb/services/TmriOutAccess?wsdl 相关资料
中了解到:
调用远程wsdl
是可以先用wsdl工具去生成代码
然后再去改url就可以继续调用了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | 1.webservice 帮助类 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - public class WebServiceHelper { public static string CallServiceByGet(string strURL) { / / strURL + = this.textBox1.Text; / / 创建一个HTTP请求 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL); / / request.Method = "get" ; HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse(); Stream s = response.GetResponseStream(); / / 转化为XML,自己进行处理 XmlTextReader Reader = new XmlTextReader(s); Reader.MoveToContent(); string strValue = Reader.ReadInnerXml(); Reader.Close(); strValue = strValue.Replace( "<" , "<" ); strValue = strValue.Replace( ">" , ">" ); return strValue; } public static string CallServiceByPost(string strURL,System.Collections.Specialized.StringDictionary parameters) { / / 创建一个HTTP请求 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL); / / Post请求方式 request.Method = "POST" ; / / 内容类型 request.ContentType = "application/x-www-form-urlencoded" ; / / 设置参数,并进行URL编码 StringBuilder codedString = new StringBuilder(); foreach (string key in parameters.Keys) { codedString.Append(HttpUtility.UrlEncode(key)); codedString.Append( "=" ); codedString.Append(HttpUtility.UrlEncode(parameters[key])); codedString.Append( "&" ); } string paraUrlCoded = codedString.Length = = 0 ? string.Empty:codedString.ToString().Substring( 0 , codedString.Length - 1 ); / / string paraUrlCoded = HttpUtility.UrlEncode( "ProductId" ); / / paraUrlCoded + = "=" + HttpUtility.UrlEncode(this.textBox1.Text); byte[] payload; / / 将URL编码后的字符串转化为字节 payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded); / / 设置请求的ContentLength request.ContentLength = payload.Length; / / 发送请求,获得请求流 Stream writer = request.GetRequestStream(); / / 将请求参数写入流 writer.Write(payload, 0 , payload.Length); / / 关闭请求流 writer.Close(); / / 获得响应流 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream s = response.GetResponseStream(); / / 转化为XML,自己进行处理 XmlTextReader Reader = new XmlTextReader(s); Reader.MoveToContent(); string strValue = Reader.ReadInnerXml(); Reader.Close(); strValue = strValue.Replace( "<" , "<" ); strValue = strValue.Replace( ">" , ">" ); return strValue; } } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2.webservice 方法 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - / / / <summary> / / / Service1 的摘要说明 / / / < / summary> [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ToolboxItem(false)] public class Service1 : System.Web.Services.WebService { [WebMethod] public string HelloWorld1() { return "Hello World" ; } [WebMethod] public string HelloWorld2(string p1,string p2) { return string.Concat( "Hello World" , "," , p1, "," , p2); } [WebMethod] public string HelloWorld3(string datetime) { return string.Concat( "Hello World" , " today is " , datetime); } } |
“webservice 就是一个应用程序,它提供一种通过web方式访问的api.
解决两个系统或者(应用程序)之间的远程调用…..
调用是跨语言,跨平台…
webservice 最基本的组成部分就是客户端,服务端…
服务端:(作为服务端,怎么将自己的应用程序发布成一个webservice,让别人调用)
xml (webservice的客户端与服务端进行交互的时候传递的数据格式)
webservice description language(web服务描述语言.. api)xml,简称wsdl
soap(简单对象访问协议) webservice的客户端与服务端进行交互的时候走的协议
(soap 分两个版本(soap 1.1与soap1.2)),现在的版本是soap1.1,因为java jdk 只支持soap1.1版本的协议发布..
***** soap 协议=在http的基础之上传送xml格式的数据..”

-》
还真巧了找到了我想要的,某个wsdl的接口
比如:


queryObjectOut
queryObjectOut C#
C# how call wsdl queryObjectOut
asp.net – Consuming a WSDL WebService from a DLL in C# using Visual Studio 2012 – Stack Overflow
好像按照这个步骤就可以了:
调用wsdl接口中的方法了?
也很像这个:
以及:
asp.net – How to generate a WSDL file of a web service in Visual Studio – Stack Overflow
好像还是:
打开
xxx.asmx?WSDL
后,会下载到一个wsdl的xml文件
然后C#的.NET 项目中去引用这个web-reference的xml
-》
好像很不错的样子:
“Build Better | Test Smarter
The Most Advanced REST & SOAP Testing Tool in the World
The Complete API Test Automation Framework for SOAP, REST and More”
转载请注明:在路上 » 【未解决】C#中如何调用wsdl的服务接口