问题标签 [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 投票
2 回答
6175 浏览

wcf - 在 WCF 中通过 HTTP Post 接受表单字段

我需要接受表单数据到基于 WCF 的服务。这是界面:

这是实现(示例 - 没有错误处理和其他保护措施):

假设 WCF,除了解析传入的流之外,还有更好的方法来实现这一点吗?

0 投票
1 回答
1747 浏览

wcf - WebInvoke/DataContractJsonSerializer,“1,6276”不能解析为“双”

我将 WCFWebInvokeAttribute用于声明性 JSON 请求 ( DataContractJsonSerializer),并带有DataContractAttribute/DataMemberAttribute基于的序列化。

我使用的服务支持返回包含基于不同文化的数据的 JSON。默认情况下,此服务使用 en-US 文化设置,这意味着小数分隔符将为“.”。

我有一个有System.Double属性的类。如果我使用使用“,”作为小数分隔符的区域性请求数据SerializationException,则在解析以下内容时,我会尝试反序列化此属性的值System.Double

“反序列化 XXX 类型的对象时出错。值 '1,6276' 无法解析为类型 'double'。”

这当然是因为在解析 Double 时使用了不变的文化。我希望在当前线程上设置正确的文化可以解决这个问题,但它没有。

因此,对于任何不使用“.”的文化,服务都会中断。作为小数分隔符。

将感谢帮助。

谢谢!

0 投票
2 回答
1251 浏览

c# - 如何在服务器端从 HTTPPOST 请求加载数据?

我有一个这样的 WebInvoke 方法;

我像这样发布数据;

问题是如何在不使用这样的 uri 模板的情况下从go()方法中的已发布消息中获取数据;

因为我要发送大量数据,无法在uri模板中发送

0 投票
1 回答
2912 浏览

xml - WebGet 和 WebInvoke 的 WCF RequestFormat

我使用 WebGet 和 WebInvoke 公开了 WCF 服务,这些服务需要将数据包装在 xml 中。我希望能够返回原始数据而不将其包装在 xml 中,并且还允许客户端能够调用我的服务而无需将请求包装在 xml 中。

我正在使用协议缓冲区序列化数据并将结果转换为 base64String,因此 WebGet 响应如下所示:

并且 WebInvoke 输入必须至少看起来像:

我真的只想要 BINARY DATA 部分,尤其是对于 WebInvoke。我可以接受 WebGet 的现状。有没有人对我如何允许客户端能够使用 WebInvoke 进行 HTTP POST 而不需要将请求包装在 xml 中有任何建议?谢谢。

0 投票
1 回答
9031 浏览

wcf - 获取 WCF 的客户端 IP 地址,发布操作

我正在尝试通过以下链接确定客户端的 IP 地址:http ://www.danrigsby.com/blog/index.php/2008/05/21/get-the-clients-address-in-wcf/

在 .Net 3.0 中,没有可靠的方法来获取连接到 WCF 服务的客户端地址。在 .Net 3.5 中引入了一个名为 RemoteEndpointMessageProperty 的新属性。此属性为您提供客户端连接进入服务的 IP 地址和端口。获取这些信息非常简单。只需通过 RemoteEndpointMessageProperty.Name 从当前 OperationContext 的 IncomingMessageProperties 中拉出它并访问 Address 和 Port 属性。

注意事项:

  1. 此属性仅适用于 http 和 tcp 传输。在所有其他传输(例如 MSMQ 和 NamedPipes)上,此属性将不可用。
  2. 地址和端口由服务机器的套接字或 http.sys 报告。因此,如果客户端通过 VPN 或其他修改地址的代理进入,则将表示新地址,而不是客户端的本地地址。这是可取且重要的,因为这是服务将客户端视为的地址和端口,而不是客户端将自身视为的地址和端口。这也意味着可能存在一些欺骗行为。客户端或客户端和服务器之间的某些东西可能会欺骗地址。因此,除非您添加一些其他自定义检查机制,否则不要将地址或端口用于任何安全决策。
  3. 如果您在服务上使用双工,那么不仅服务会为客户端填充此属性,而且客户端还会为来自该服务的每个调用填充此属性。

我有 WebInvoke/Post 和 WebGet 的操作合同。当客户端请求是 WebGet 时,该代码有效。但是当客户端请求是 WebInvoke 时,我会得到 WCF 主机 IP。有什么解决办法吗?谢谢。

这是界面

0 投票
1 回答
169 浏览

web-services - 如何对 Web 服务 PUT 方法进行临时测试?

我编写了一个 Web 服务,很高兴您可以导航到http://whatever ... 并查看对 GET 的响应。有什么漂亮的方法可以为 PUT 做类似的事情吗?(可能涉及一些工具来编写 PUTed 的信息)。

显然,我将对这些方法进行自动化测试,但我也希望能够在没有代码的情况下使用它。

0 投票
1 回答
19338 浏览

wcf - 如何使用 webinvoke 方法(Post 或 PUT)在 wcf rest 中传递多个主体参数

我在 WCF 中编写了一个 REST 服务,其中我创建了一个方法(PUT)来更新用户。对于这种方法,我需要传递多个主体参数

虽然如果只有一个参数,我可以传递用户类的 XML 实体。如下:

但是如何传递另一个参数(friendUserID)值?谁能帮我?

0 投票
1 回答
182 浏览

function - 用于 Obj-C 和解析标量返回值的 OData 客户端

我似乎无法找到一种方法让 Objective-C OData 客户端返回 Web 服务函数的值,该函数只返回一些简单的东西,比如整数。

例如,

[WebInvoke]
public Int32 xyx()
{
return ( 3 );
}

代理生成的客户端代码会生成一个函数,当调用该函数时,会返回一个 XML 格式的 NSString,其中的值为 3。我是否必须解析出这个值,然后将其映射到一个 int?我认为这会更容易。布尔值更难。当 Obj-C 为 YES/NO 时,净布尔值是 true/false。您必须编写代码来解析 XML,找到真/假,如果它是 YES/NO,arrgggg。

我以为 OData 客户端会映射这些,我错了吗?

0 投票
1 回答
26219 浏览

.net - 未找到 WCF REST Webinvoke

以下是我在测试应用程序中使用的代码:

它在编译 webinvoke 时给出和错误。有什么相同的想法吗?

0 投票
4 回答
14024 浏览

xml - 使用 WebInvoke 在 WCF REST 服务的正文中传递 XML 字符串

我是 WCF、REST 等的新手。我正在尝试编写服务和客户端。我想将 xml 作为字符串传递给服务并得到一些响应。

我试图将正文中的 xml 传递给 POST 方法,但是当我运行我的客户端时,它只是挂起。

当我更改服务以接受参数作为 uri 的一部分时,它工作正常。(当我将 UriTemplate 从“getString”更改为“getString/{xmlString}”并传递一个字符串参数时)。

我正在粘贴下面的代码。

服务

// 实现代码

客户

有人可以指出其中有什么问题吗?