如何创建简单的服务http:// myservice:portId?key1 = val1& key2 = val2

时间:2014-09-08 07:24:56

标签: c# rest soap

我是WebServices的新手。需要创建像

这样的东西
http://myservice:portId?key1=val1&key2=val2

响应应该基于一些基于接收到的值的解析逻辑,响应应该是XML中跟随调用客户端的内容

<MyResponse>
 <value> You are good server URL hit on this combination is 1</value>
</MyResponse>

1)我可以使用SOAP或REST实现吗? 2)如果我可以在REST中执行此操作,是否需要将GET方法更改为解析后的输入?并回复或它应该是PUT或POST? 我需要在服务器上维护状态,就像下次相同的URL响应将以计数增量回复。

任何实施指针都会很棒。

1 个答案:

答案 0 :(得分:0)

首先,这是......

http://myservice:portId?key1=val1&key2=val2

不是网络服务,只是网址或路线,而且您对如何创建该路线的问题没有简单的答案。

  

我可以使用SOAP或REST实现吗?

SOAPREST不可互换,互不相互排斥。虽然SOAP是一种定义明确的非协议,它围绕着Web服务的实现而发展,而REST(as quoted from Wikipedia)是一种架构风格。换句话说,您可以拥有RESTful(或非REST)SOAP服务。他们不会互相替换。

  

如果我可以在REST中执行此操作,是否需要将GET方法更改为后解析输入?并回复或它应该是PUT或POST?

不太清楚你的意思。但是,您正在讨论通过请求传递的解析和验证参数,这不是REST规范所关注的,如果您要解析和/或验证请求,则由您自己决定。要了解如何使用不同的HTTP方法refer to this answer here

  

我需要在服务器上维护状态,就像下次相同的URL响应将以计数增量回复。任何实现的指针都会很棒。

首先,您需要了解HTTP和REST是无状态的。因此,除非您实施解决方案,否则您将无法通过REST实现获得任何开箱即用的状态管理。我不能在这里写出一个完整的解决方案,但一个好的起点是看看有多少已建立的API来做...绝大多数实现都使用某种访问令牌,很多都遵循非常流行的开放OAuth等规范,其中身份验证和授权通过握手过程发生,其中客户端提供一些初始凭证,服务器验证它们,然后发出客户端可用于请求受保护资源的临时令牌。