Pos*_*Guy 4 c# rest wsdl web-services
我使用第三方Web服务工作很多.我要查找的第一件事是,如果他们提供了一个我可以轻松添加到Visual Studio中的WSDL,并立即开始使用VS基于WSDL创建的自动生成的代理类,显然我能够快速开始编码并开始使用任何第三个派对API.
例如,PayPal提供两种API的API.一个通过名称值对和另一个暴露我可以在我的.NET项目中使用的WSDL的SOAP然后离开.
那么我可以在这里假设以下术语吗?
我不太确定我的陈述是100%正确的,需要清除它.
- NVP不提供WSDL(它由HTTPRequest中传递的查询字符串值对完成)
PayPal所谓的Name-Value-Pairs不是标准.然而,他们并不是唯一使用它的人(似乎).它基本上是以名称和值的形式发送参数(显然),这很容易以编程方式处理,因为HTML表单做同样的事情,所以通过发送NVP你正在模拟一个Web表单,服务器端编程是相同的.
简而言之,称之为NVP比说出来更容易:请使用application/x-www-form-urlencoded.
- SOAP Web服务可能始终提供或不提供WSDL,您可以将其合并到项目中以供使用
从理论上讲,是的.SOAP作为协议不强制使用WSDL进行定义/描述.它仅描述客户端和服务器(和/或中介)之间的消息.实际上,SOAP Web服务的概念通常意味着使用WSDL描述并使用SOAP进行消息交换的Web服务.几乎所有可用的软件(.Net,Java和其他像gSOAP C/C++)都通过WSDL定义Web服务.工具可用于将预定义的类转换为WSDL,反之亦然,SOAP通常由库支持处理.
简而言之,通过从WSDL生成类来使用Web服务的方式是标准的.SOAP定义了交换的消息,如果没有服务定义 - 在WSDL中 - 它不是Web服务,因为没有服务契约.
- REST只是一种可以应用于NVP -or-SOAP/WSDL类型API的命名规则
REST肯定不是命名约定,它是一种架构风格,主要围绕资源概念和超链接构建.周围有很好的解释,但你可以通过风格在很大程度上识别它:你使用一小组动词(通常是HTTP:GET,POST,PUT,DELETE或其中的一部分)来实现你想要的资源动作.识别这些的简单方法是:
地址表示资源,因此您不会将请求,销售,授权和订单等操作作为请求的一部分发送,而是处理不同的地址,如http://www.example.org/Sales/sale-015和http:// www.example.org/orders/1337,您可以使用GET访问或使用DELETE删除或根据需要使用PUT或POST进行修改.
REST请求的响应通常包含相关链接,您可以将这些链接用于潜在的下一步操作.因此,销售的响应消息可能包含允许您确认销售的链接.
如果正确实施,REST可为客户端和服务器提供更大的修改自由度.相比之下,SOAP Web服务客户端和服务器必须坚持定义为可互操作的WSDL协定.
- 它被称为API还是SDK?我总是提到我正在访问的服务并向"API"调用API,但出于某种原因,我的老板称之为SDK,这对我来说没有意义...... API是我最常见的
API(应用程序编程接口)是可定义的功能列表,可从外部访问,从而定义接口.SDK(软件开发工具包)是一组用于开发软件的软件工具和库.所以如果你下载SDK的可执行代码; 如果它是API的文档.
Paypal提供API.相比之下,为iPhone开发软件(仅举一例),您必须从Apple下载iPhone SDK.
| 归档时间: |
|
| 查看次数: |
3820 次 |
| 最近记录: |