问题标签 [webinvoke]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
58 浏览

json - 将选定的操作合同公开为 ReST 导致错误合同“IContract”的操作“方法名称”指定了多个请求正文

这是场景。有一个现有的服务合同,其中包含一些被桌面应用程序使用的方法。现在需要通过 ReST 暴露一些操作合约。但它要求将所有方法公开为 ReST。否则,如果参数被包装,下面的文本通常会出现异常。

真的很混乱。似乎是框架中的错误。

错误信息 -

合约“IService”的操作“SaveEntitiy”指定了多个要序列化的请求主体参数,而无需任何包装器元素。最多一个 body 参数可以在没有包装元素的情况下被序列化。删除额外的正文参数或将 WebGetAttribute/WebInvokeAttribute 上的 BodyStyle 属性设置为 Wrapped。

经营合同。

如果我们将 SaveEntity 公开为 ReST,那么一切正常。表示配置正确。

0 投票
1 回答
56021 浏览

c# - c# API“解析值时遇到意外字符:S.Path '', line 0, position 0”

我使用了多个用 c# 编写的 API,效果很好。我想用一个接收匿名对象(我不想创建一个类)。当我尝试反序列化对象时遇到问题。

我有一个遵循此方案的 API,它在python使用该json_dumps函数调用时运行良好。但是当我尝试使用JSON.stringify(来自 a 甚至 POSTMAN 时,我有一个 400 错误请求。

这是我的代码,我尝试了很多东西:

JsonConvert.DeserializeObject<dynamic>等待一个字符串,我试过:

- 在我这样做时的参数中指定objectSentByUser为字符串,myMethod 我什至没有输入方法就得到了 400(我尝试发送 JSON,添加引号,发送字符串等......)

- 与 一起投射(string)objectSentByUser,它不起作用

- 使用该toString()方法,这会导致下一个错误:解析值时遇到意外字符:S. Path '', line 0, position 0 这很正常,因为objectSentByUser.toString()返回“System.Object”(但是为什么使用时它会起作用用python json_dump?)

此代码在使用返回如下对象的 python 函数 json_dump 调用时有效:

"{\\"key1\\":\\"value1\\",...}"

从 Postman 我发送了一个经典的 POST,正文中包含application/jsonascontentType和 valid JSON(在关于 stackoverflow 的另一个讨论中找到的网站上验证)

非常感谢你的帮助

再见

0 投票
1 回答
659 浏览

c# - C# RESTful 服务 - HTTP 504 / 连接重置

我有一个 C# 应用程序,它通过 RESTful 服务获取和返回信息。我之前处理这些操作的方式是方法简单地返回 JSON 字符串,然后将这些字符串包装在 XML 中。

为了防止这种情况,我将 ResponseFormat 更改为 JSON,现在我返回 DataContracts,它们都派生自一个抽象类:

为了应用 DataContract 属性,我将上面的接口更改为(现在)抽象类。

每个衍生产品还应用 DataContract 和 DataMember 属性。

当我调用服务的路由时,命令被执行,我可以在控制台中看到输出。但是,当返回返回值时,我在控制台中看到以下内容,并且 Web 浏览器保持为空。Fiddler(在 Windows 上)向我显示 HTTP 504 错误,而我的 Mac 向我显示连接重置。

我用来测试的具体方法如下:

IRest服务:

RestService(实现):

实际的命令实现(也可以通过控制台调用):

如何解决和预防这种情况?

0 投票
1 回答
43 浏览

c# - 此方法的正确 api url 是什么?

我正在使用 api,在后端工作的人使用 c#,他无法向我解释除了他的代码之外的方法。但是我没有c#的经验。有人可以向我翻译这些行并告诉我 url 部分是什么,如果有的话,body 参数是什么。谢谢!

0 投票
1 回答
799 浏览

c# - 包装了 WebInvoke BodyStyle 的 WCF 错误

我在尝试创建采用 2 个或更多参数的方法时遇到问题。我指定在 operationcontract 上使用 Wrapped BodyStyle 但无论如何它都会给出一个错误,就像我没有使用它一样。

界面:

服务:

0 投票
1 回答
328 浏览

c# - WCF 中的特殊字符

我正在使用 SHA-1 加密密码并将其发送到服务,如下所示。

以下密码正在被加密。

客户端

HttpGetCommand.cs

登录命令.cs

在代码中,我调用如下

服务端

但如果加密有特殊字符,如“+”,它不会到达服务。

例如,如果来自客户端的加密密码像

然后它到达服务端如下

0 投票
1 回答
96 浏览

c# - 在 WCF 中访问 WebInvoke UriTemplate,我需要模板字符串

我在 WCF [WebInvoke(UriTemplate = "etcetc"

我需要访问字符串“etcetc”以用于我的某些业务逻辑,不确定这是否可能?它存储在内存中的什么位置?

0 投票
2 回答
140 浏览

c# - WCF Webinvoke POST 给出(400)特定服务器的错误请求

早上好/晚上好,

我是 WCF 的新手,并创建了一个示例应用程序。问题是我将 json 字符串作为请求传递,但收到 400:Bad request 错误。我的样本的详细信息如下:

ISampleService.cs:

示例服务.svc.cs

主要调用函数:

运行应用程序时出现以下错误:

我试过的:我改变了发送和接收的超时时间,内容类型是application/json。该请求仅针对此服务器引发错误。我有另一台服务器,我尝试过,POST 正在服务器中传递。两台服务器具有相同的配置。当我为错误的服务器运行 Fiddler 时,POST 调用成功。从 POSTMAN 向错误服务器发送完全相同的请求会给出成功(200 OK)状态,并且在这两种情况下我都得到了正确的响应。

注意:WEBGET、WEBInvoke DELETE 在服务器上工作正常。只有WEBInvoke POST不适用于特定服务器。有人可以帮我解决这个问题吗?提前致谢。