您好!感谢您的提问。
根据您的问题,您在使用C#客户端调用WCF REST服务时遇到了(400)错误请求的问题。这个问题可能是由于请求数据格式不正确、请求参数缺失或不正确等原因导致的。
为了解决这个问题,您可以尝试以下方法:
如果您仍然无法解决此问题,请提供更多关于您的请求和服务器配置的详细信息,以便我们可以更好地帮助您。
希望这些信息对您有所帮助!如果您有其他问题,请随时提问。
WCF实现将服务器端的错误信息返回到客户端 2011-12-21 11:37 by Ref Tian, 398 visits, 收藏, 编辑 最近在园子里转看到有人对如题的实现有疑问,今天有时间就写了项目把实现简单的讲解一下...,如果你是牛逼人物那就绕道吧,哥不想浪费你的时间,现在开始: 默认WCF是不允许将服务器的异常信息返回到客户端的(主要是客户端不一定能够识别clr的异常信息),如果你有这方面的需求可以通过SOAP的Fault...包的形式返回异常信息,首先要做的就是设置配置文件,将默认不允许返回错误信息的设置改成如下: <behavior...DivideByZeroException))] [OperationContract] DataCollection Return(); } 在方法中定义属性,这里有两种实现 1.使用自定义的错误类型...; 到此服务器端的实现完成。
REST是一种架构风格,它将每个服务对待为资源并通过Http协议方法(GET、POST、PUT、DELETE)获取数据。 REST风格的架构包含客户端和服务端。...客户端初始化请求到服务器,服务器负责处理请求并返回响应。 这些请求和响应都是围绕这些资源的表示形式进行传递。 Q2. 解释下REST原则? Ans....任何会话类型的数据应该在客户端保存和处理,只有在每次请求中按需传递到服务器。 Cacheable(可缓存) - 客户端应该能够缓存响应以供后续使用。 Q3. REST和 SOAP间的区别是什么?...WCF Rest 将WCF 作为 WCF Rest 服务使用,您必须启用 webHttpBindings....WEB API 基于.NET Framework构建REST-ful服务,并支持内容协商(返回客户端需要的格式化的数据,比如json,xml,Atom等)。
比如,在上面的代码中,如果后续版本的接口需要接受两个参数来执行DoSomething方法,或者说除了返回一个string外还需要返回其他信息。如果在原接口上修改的话,就会使得老版本的客户端无法使用。...DTO请求参数,返回一个DTO响应。...在请求和相应的DTO对象中添加字段,不会破坏旧的客户端。 在WCF中RPC和DTO风格的WebService均支持,但是在ServiceStack中仅支持DTO风格。...ServiceStack中的服务方法名为Any,Get以及Post,这也是ServiceStack支持的请求类型,Any表示服务可以通过HTTP Get和HTTP Post两种方式调用。...服务客户端 服务端创建和托管好之后, 服务使用者就可以直接编写HttpWebRequest对象对这些服务通过Get或者Post方式进行直接访问了。
REST的核心原则是解决这些方面的问题,可以被建模成被客户端消费理解的返回对象。 这种面向资源的思想,而不是客户端和服务器之间通信的实现细节,实际上就是REST的全部内容。...重点 可以建模为客户端可以使用或采取行动的资源,不是客户端和服务器之间通信的实现细节 资源-----返回一个资源对象 正确返回 { "login":true } 错误返回 { true } 核心...:资源对象要被描述 使用或采取行动----同一个url的get,put,del,post请求返回的对象一致 不是客户端和服务器之间通信的实现细节---不需要RPC那样返回操作结果 3.RESTful...---使用http的状态码来描述请求状态而不是自定义code 例如这种常见的返回对象是不符合RESTful API的 { code:001 message:密码错误 data:{ }...} 4.红字的理解 整篇文章我就红字看的有点懵逼,为什么这就带来好处了?
在讨论跨平台的Web服务上,ASP.NET Web API是一个重要选项,在本文中,我将展示如何利用 ServiceStack (开放源代码.NET 和Mono REST 服务框架) 来完成这一任务,不用离开...例如前面的代码段,如果要求从客户端来执行更高版本的 Web 服务的 DoSomething 方法的两个输入参数 — 或需要返回字符串值之外的另一个字段 —— 给老客户重大更改是不可避免的。...我会告诉你如何通过将WCF Web 服务移植到等效的使用 ServiceStack 转换为跨平台的 Web 服务。 WCF 使用数据合同建立的客户端和服务器之间的通信手段。...指定任何 Web 服务请求是指可以通过 HTTP GET 和 HTTP POST 调用操作。 这种强制措施,简化了 rest 风格的 Web 服务实现。...要将您的 ServiceStack Web 服务变成 rest 风格的 Web 服务,只需添加 URL [Route(...)]向您的 Web 服务请求声明属性。
首先来看看SharePoint REST API 的概述: REST API 服务是在 SharePoint 2013 中被引入的,官方认为 REST API 服务可以媲美于现有的 SharePoint...开发人员可以使用任何支持 REST Web 请求的技术(C#,javascript,java,oc 等等)以远程方式与 SharePoint 数据进行交互。...在 REST API 出现之前,我们需要通过 client.svc 这个 WCF 服务来请求 SharePoint 的列表数据,而且仅限于获取数据。数据的修改并没有在这个服务中体现。...我个人更喜欢处理 JSON 格式,JSON 数据转换为 C# 的对象,有一个很棒的网站:http://json2csharp.com/。...该值的获取方式是:向 http://网站URL/_api/contextinfo 发送具有空正文的 POST 请求,并在 contextinfo 终结点返回的 XML 中提取 d:FormDigestValue
随着不断获取资源的表征,客户端应用不断地在转变着其状态。 为什么RPC也不够好?...给鸡的数量翻倍还是卖掉所有猪?)我们只需讨论表征,并且使用这个表征来达到我们想要的目标,很简单,不是吗?我不希望和Marcus的沟通失败,因为我们彼此的理解过程会不一样,所以只需要知道最后的状态就行。...这种结构需要存储参数、错误的代码、返回值等。...3、只要有权限都可以进行访问 REST与SOA的不同点 1、REST风格下的,只有一种协议,那就是HTTP。而SOA下的WCF就和多种协议了。...如:TCP、HTTP、MSMQ等多种协议 2、使用方式上的不同。REST只要客户端能够模拟HTTP请求,通过标准的HTTP动作,都可以进行访问。
这个规范改善了系统的可见性(无状态性使得客户端和服务器端不必保存对方的详细信息,服务器只需要处理当 前request,而不必了解所有的request历史),可靠性(无状态性减少了服务器从局部错误中恢复的任务量...4)REST架构是幂等的,对于相同的请求,服务器返回的结果也是相同的,因此服务器端返回的结果是可以缓存的,既可以存在客户端也可以存在代理服务器端。...也就是说,客户端不能直接操作服务器端的Resource,只能通过对相应的Representation的操作,并发送相应的请求,最后由服务器端来处理Resource并返回结果。...对于 GET 请求响应中返回的资源,可以用多种不同的方式进行缓存。...另外我的博客上还有一篇文章收集了源是.NET Endpoint一个系列的文章:WCF WebHttp Services in .NET 4
WCF 过得好好的, ASP.NET 也如此,每种技术都有使用其的理由。正如这篇文章说得好, "SOAP的世界与HTTP 服务的世界是完全不同的。...— — 请求/响应标头,超媒体概念等。...Kelly Sommers在澄清REST中撰写了我认为是REST的最好诠释,无论你想编写 RESTful专注于资源的 HTTP 服务还是只是POX或 POJ (Plain Old XML 或Plain...它是ASP.NET 开源的Web栈的所有部分。 ASP.NET Web API Samples on Codeplex,看到C# 协议对象如何在 JSON 世界和 C# 世界之间轻易来回移动了吗?...但如果对我来说不够动态的话,为什么我的方法的参数不能只采取一种"动态"。 C# 是静态类型,这是肯定的,但这并不意味着我不能静态化动态的东西。;) 再次注意Watch窗口。
总的来说,HTTP协议出现以来Web服务也就存在了。但是,自从云计算出现后,才成为实现客户端与服务和数据交互的普遍方法。 作为一名开发者,我很幸运能够在工作中使用一些仍然存在的SOAP服务。..., 4xx 表示客户端错误 和5xx 表示服务器错误 当然你还可以使用其他 HTTP 协议提供给 REST API 设计的功能 ,但这些都必须牢记在心里。...在响应体中返回错误详情 当API服务器处理错误时,将错误详细信息包含在JSON主体中可以帮助使用者进行调试,这是是非常方便的,如果您还能说明哪些字段受到了错误的影响,那就更好了!...例如,如果你选择某个POST端点返回201 Created,那么对于每个POST端点都应使用相同的HTTP状态码。为什么?因为消费者不应该担心在哪种情况下哪个方法在哪个端点上会返回哪个状态码。...有一天,当我将REST API集成到我的一个项目中时,每次调用都收到HTTP 500内部错误。
(self,request): return HttpResponse('post') 大家还记得CBV的这个视图函数,为什么get请求就能找到类的get方法,post请求就能找到...这时,客户端发出的 HTTP 请求,要加上X-HTTP-Method-Override属性,告诉服务器应该使用哪一个动词,覆盖POST方法。...1xx:相关信息 2xx:操作成功 3xx:重定向 4xx:客户端错误 5xx:服务器错误 这五大类总共包含100多种状态码,覆盖了绝大部分可能遇到的情况。...400 Bad Request:服务器不理解客户端的请求,未做任何处理。 401 Unauthorized:用户未提供身份验证凭据,或者没有通过身份验证。...301 状态码(永久重定向)302 状态码(暂时重定向,307也是这个含义) 400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作
这时,客户端发出的 HTTP 请求,要加上 X-HTTP-Method-Override属性,告诉服务器应该使用哪一个动词,覆盖 POST方法。...名词 名词就是表示一个资源或者服务,如 /users,/teachers,这里看到我用名词复数的形式描述某一资源,至于用单数还是复数每个人都有自己的见解,我在这里推荐使用复数,因为在现实世界中,资源多数是以集合的形式存在的...比如: 异步操作:服务器已接收到请求,但是还未处理,但是会在未来处理 资源已经存在,没有创建新的资源 (有些业务可能会返回错误信息"您创建的数据已存在",所以这种情景没有明确的规定,符合自己的业务需求即可...) 4xx 状态码 4xx 状态码表示客户端的错误,主要有以下几种: 400BadRequest:服务器不理解客户端的请求,未做任何处理 401Unauthorized:用户未提供身份验证凭据,或者没有通过身份验证...比如,API 只能返回 JSON 格式,但是客户端要求返回 XML 格式 这里要注意状态码 401 和 403 的区别 5xx 状态码 5xx 状态码表示服务端错误,通常只会用到两个: 500InternalServerError
不废话了,直奔主题吧 wcf端: 近几年比较流行restful,为了能让ajax调用,同时也为了支持restful风格的uri,在创建一个Ajax-enabled Wcf Service后,必须手动修改...{ alert("RestfulTest POST方式调用成功,返回值为:" + data); }) $.get("...:" + data); } }); }) 有时候,WCF暴露的方法中可能需要一些敏感信息做为参数(比如用户名/用户ID之类),这时如果直接用...js来调用wcf,可能会把这部分信息泄漏在客户端,这种场景下,我们也经常用一个服务端的ashx来做中转 TestService.svc using System.ServiceModel; namespace...GetSalary" id="btnTest"/> 示例代码: http://files.cnblogs.com/yjmyzz/jquery_ajax_wcf_rest.zip
相反,我想,“我如何告诉消费者他们的验证失败了?”答:400状态码。完成了。稍后我将给出更多示例,但首先,重要的是要记住,除了RESTful web服务之外,还有更多范例存在。...在向消费者展示数据方面,我发现这比我自己的系统要好得多。使用JSON模式这样的已知数据建模,消费者可以很容易地知道他们要返回的数据的形状。您还可以让他们知道是否需要请求字段。...这些是我经常使用的问题。 5. 想想以前那些使用返回错误状态码的API 我发现查看HTTP状态代码对了解在资源上操作时会发生什么很有用。无法找到资源吗?...你知道,当我阅读HTTP规范时,它让我大吃一惊,我意识到我们可以在客户端缓存,但让服务器告诉我们如何做。现在看来很明显,但这仍然很强大。...您可以为诸如“我如何告诉我的调用者如何缓存”或“我如何告诉我的调用者他们犯了错误?”或者你可以屈服于老板的压力,“把事情做好”。但是如果你真的想要一个好的设计,看看RESTul web服务。
前言 首先我们来了解一下WCF Rest吧。 Rest是一种设计风格,不是一个标准。 Rest通常使用HTTP,URI,XML,HTML等流行的协议和标准。...Rest对资源的操作类型通常包括:获取,创建,删除和修改,这四种操作分别对应着HTTP协议请求的GET,POST,DELETE和PUT方法。 资源的表现形式可以为:XML,HTML,JSON的文本。...Rest是服务端-客户端结构中的一种应用方法。 Rest使用的是HTTP协议,因此是无状态的。...服务获取数据,返回XML,然后通过Microsoft.XMLDOM来获取XMl节点数据。...我将Js函数放在Index视图的Window.onload事件中,就是在主页面加载完毕后执行。 效果如下。 ? 总结 以上就是asp.net mvc 中如何调用Rest服务的两种方式。
当一个软件架构符合REST原则,我们称之为RESTful架构。说了这么多,我们为什么要使用RESTful架构?使用RESTful架构有什么好处?...7.覆盖HTTP方法 一些HTTP客户端只支持GET和POST请求。为了能够加强这些客户端的访问能力,API需要能够覆盖HTTP方法。...注意,用来覆盖HTTP方法的header只能在POST请求中被接受。GET请求永远不能修改服务器上的数据。 8.过滤信息 如果记录数量很多,服务器不可能都将它们返回给用户。...错误的表现形式应该跟其他资源保持一致,只是用一些自己的字段。 API应该一直返回合理的HTTP状态码。API错误一般情况下分成两类:代表客户端错误的400系列状态码和代表服务端错误的500系列状态码。...在进行分页查询时可以返回下一页的URI,如果没有说明服务器已经取到最后一条数据了,客户端可以减少不必要的请求以及URI的构造,建议在分页的情况下使用。
反过来理解,客户端不能直接操作(比如SQL)服务端资源,客户端只能通过表述(比如JSON)来操作资源,我觉得这个很好理解。 自描述的消息。...只返回你指定的字段 状态码。选择正确的状态作为返回状态 错误处理。...如果你的请求是错的,那么应用尽量把错误信息给返回,并按照一个规范通用的格式 安全 HTTPS 鉴权 限流 开发者友好 文档 超媒体 RESTful API 示例 下面是我是真实API截图,用Swagger...200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。 201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。...400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。
Restful: 遵守了rest 原则 的web服务或web应用。..., 服务器返回完整的属性 DELETE: 从服务器删除资源 3)过滤信息 通常也叫做请求参数或查询字符串。...4)响应状态码 服务端返回的信息, 用来告诉客户端操作结果。...- 通用错误响应 503 (Service Unavailable)- 服务端当前无法处理请求 5)错误信息 如果状态码是4xx或者5xx, 需要告诉客户端对应的错误信息....通常以Json格式返回: { “error”: “错误信息”, } 6)返回结果 针对不同的操作, 服务需要返回的结果应该符合这样的规范 GET /collections – 返回资源列表(数组) GET
REST基础特征 客户端 关注点分离是将用户界面与数据存储分离的原则。这使得程序的用户界面能够移植到其他的平台,并通过简化服务器组件来提高可伸缩性。...无状态 每个发向服务器的请求都应该带有理解完成请求所需的全部信息 可缓存 返回的数据能够缓存以便于用户再其他时间调用,这能够提升性能并且减少网络通信。...分层系统 代理服务器或缓存服务器等中间服务器可用于提高性能或引入安全性。 统一接口 统一的接口 (如 HTTP HTTP GET, POST, DELETE, PUT) 用于访问资源。....NET 4 / REST / WCF WCF并非仅仅能用来否剑SOAP服务,他是一个具有通用编程模型并且完全基于插件的通信基础框架。...WCF运行时的基础工作是监听处理来自网络位置的消息,并将他们传递给应用程序(服务),使用WCF开发REST应用程序是一项简单的任务。
领取专属 10元无门槛券
手把手带您无忧上云