C#调用WSDL接口及方法
- 格式:pdf
- 大小:30.00 KB
- 文档页数:1
C#调⽤WSDL接⼝及⽅法
1.⾸先需要清楚WSDL的引⽤地址
如:
上述地址的构造为 类名getfileno。
2.在.Net项⽬中,添加web引⽤。
3.在弹出页⾯中,点击前往按钮。
4.将web引⽤名 进⾏⾃定义填写即可。
效果如图所⽰:
5.在项⽬中引⽤wsdl中的⽅法。
⾸先需要进⾏实例化。再次调⽤⽅法即可。
如下:
6.调⽤结束。
C#调⽤WSDL接⼝及⽅法
1.⾸先需要清楚WSDL的引⽤地址
如:
上述地址的构造为 类名getfileno。
2.在.Net项⽬中,添加web引⽤。
3.在弹出页⾯中,点击前往按钮。
4.将web引⽤名 进⾏⾃定义填写即可。
效果如图所⽰:
5.在项⽬中引⽤wsdl中的⽅法。
⾸先需要进⾏实例化。再次调⽤⽅法即可。
如下:
6.调⽤结束。
【转载】C#调⽤国家⽓象局天⽓预报接⼝
⼀.需求
最近,刚好项⽬中有天⽓预报查询功能的需求,要求录⼊城市名称,获取该城市今⽇天⽓信息及相关⽓象⽣活辅助信息等。
例如:查询北京市天⽓
结果为:
今⽇北京天⽓:15℃~5℃ 阵⾬转阴,北风3-4级,天⽓冷,建议着棉服、⽻绒服、⽪夹克加⽺⽑衫等冬季服装。年⽼体弱者宜着厚棉
⾐、冬⼤⾐ 或厚⽻绒服。 洗车指数:不宜。紫外线指数:最弱。晨练指数:较不宜.舒适指数:较舒适。
还好,国家⽓象局提供相关接⼝,再此表⽰感谢,虽然个⼈觉得该api设计思路有待提⾼,但是相⽐于其他部委【如交通部】来说,⽓象局这个冷
衙门有开源、开放的⼼态,相⽐⽽⾔,相当了不起。期待后期能在接⼝规范、可提供查询城市数量等⽅⾯继续提⾼。
⼆.接⼝说明
据我所知,⽓象局提供三个天⽓查询接⼝,如下:
1、实时天⽓接⼝
地址:/data/ sk/【城市代码】.html
例如:查询北京实时天⽓
结果:
{"weatherinfo":{"city":"北京","cityid":"101010100","temp":"13","WD":"南
风","WS":"2","SD":"59%","WSE":"2","time":"10:30","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB"}}
2、今⽇天⽓接⼝
地址:/data/cityinfo/【城市代码】.html
例如:查询北京今⽇天⽓
结果:
{"weatherinfo":{"city":"北京","cityid":"101010100","temp1":"15","temp2":"5℃","weather":"阵⾬转
阴","img1":"d3.gif","img2":"n2.gif","ptime":"08:00"}}
3、今⽇及未来天⽓接⼝【内容最详细】
C#调⽤windowsAPI的⼀些⽅法
使⽤C#调⽤windows API(从其它地⽅总结来的,以备查询)
C#调⽤windows API也可以叫做C#如何直接调⽤⾮托管代码,通常有2种⽅法:
1. 直接调⽤从 DLL 导出的函数。
2. 调⽤ COM 对象上的接⼝⽅法
我主要讨论从dll中导出函数,基本步骤如下:
1.使⽤ C# 关键字 static 和 extern 声明⽅法。
2.将 DllImport 属性附加到该⽅法。DllImport 属性允许您指定包含该⽅法的 DLL 的名称。
3.如果需要,为⽅法的参数和返回值指定⾃定义封送处理信息,这将重写 .NET Framework 的默认封送处理。
1.⾸先我们查询MSDN找到GetShortPathName的原型定义
DWORD GetShortPathName(
LPCTSTR lpszLongPath,
LPTSTR lpszShortPath,
DWORD cchBuffer
);
2.查找对照表进⾏数据类型的转换(出处: )Data
Win32 TypesSpecificationCLR Type
char, INT8, SBYTE, CHAR†8-bit signed integerSystem.SByte
short, short int, INT16, SHORT16-bit signed integerSystem.Int16
int, long, long int, INT32, LONG32,
BOOL†, INT32-bit signed integerSystem.Int32
__int64, INT64, LONGLONG64-bit signed integerSystem.Int64
unsigned char, UINT8, UCHAR†,
BYTE8-bit unsigned integerSystem.Byte
unsigned short, UINT16, USHORT,
C#调⽤webservicewsdl⽂件
经常遇到C#调⽤webservice的情况,通常来说如果webservice是⽤vs+c#来开发的,问题⼀般来说不⼤,直接web引⽤,然后调⽤就OK了。流程如下:
下⾯就是进⾏调⽤,就这么简单。
但如果webservice是⽤JAVA或者其它语⾔或者其它⼯具⽣成的话,使⽤vs+c#来调⽤就经常遇到问题;就是使⽤上⾯的⽅法显得很不好使,经常是使⽤SOAP UI调⽤没有问题,
但使⽤上⾯的⽅法却调⽤报错,经常是500的错误。当你联系webservice提供商时通常会说SOAP UI都能调⽤得到,你们⽤代码为啥⼦调⽤不到,问题出在你们的调⽤⽅法上。
在我们向其它公司提供webservice的时候,经常也会出现这样的问题,以前我们⼀直都以为SOAP UI能够调⽤,那么代码也就⼀定能够调⽤得通,但经过实践,我们⾃⼰写
DEMO调⽤⾃⼰的webservice时才发现,并不是别⼈的调⽤代码写的有问题,因为我们⾃⼰也⽆法将⾃⼰写的webservice调⽤得通,或者说没有找到正确的⽅法调⽤得通。这时
我们就要思考是否是SOAP UI能够调⽤得通的webservice就代码⼀定调⽤没有问题呢?或者说SOAP UI调⽤webservice和代码调⽤webservice的原理区别到底在哪⾥呢?
总结⼀下:
(1)SOAP UI能够调⽤成功,代码不⼀定能够调⽤成功,代码调⽤成功并且得到返回结果的前提是webservice可以按标准返回结果,但SOAP UI是只要按信封返回就可以收到
结果⽽不管结果是否标准;
(2)如果webservice的header有⽤户名和密码的校验,使⽤SOAP UI可以调⽤成功并且得到返回结果,但使⽤上⾯web引⽤的⽅式却不⾏。对于这种情况,有以下⽅法可以调
⽤成功:
重复上⾯web引⽤的⽅式,另外引⽤Microsoft.Web.Services3(这个DLL可以CSDN上⾯下载)。
C#常⽤⽅法——C#调⽤WebService接⼝
⼀、基本概念
Web Service也叫XML Web Service WebService是⼀种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独⽴
的通讯技术。是:通过SOAP在Web上提供的软件服务,使⽤WSDL⽂件进⾏说明,并通过UDDI进⾏注册。简单的理解就是:webservice就
是放在服务器上的函数,所有⼈都可以调⽤,然后返回信息。 ⽐如google就有⼀个web service ,你调⽤它就可以很容易的做⼀个搜索⽹
站。 就像调⽤函数⼀样,传⼊若⼲参数(⽐如关键字、字符编码等),然后就能返回google检索的内容(返回⼀个字符串)。其中,
Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当⽤户通过UDDI找到你的WSDL描述
⽂档后,他通过可以SOAP调⽤你建⽴的Web服务中的⼀个或多个操作。SOAP是XML⽂档形式的调⽤⽅法的规范,它可以⽀持不同的底层
接⼝,像HTTP(S)或者SMTP。
WSDL:(Web Services Description Language) WSDL ⽂件是⼀个 XML ⽂档,⽤于说明⼀组 SOAP 消息以及如何交换这些消息。⼤多
数情况下由软件⾃动⽣成和使⽤。
UDDI (Universal Description, Discovery, and Integration) 是⼀个主要针对Web服务供应商和使⽤者的新项⽬。在⽤户能够调⽤Web服
务之前,必须确定这个服务内包含哪些商务⽅法,找到被调⽤的接⼝定义,还要在服务端来编制软件,UDDI是⼀种根据描述⽂档来引导系
统查找相应服务的机制。UDDI利⽤SOAP消息机制(标准的XML/HTTP)来发布,编辑,浏览以及查找注册信息。它采⽤XML格式来封装