问题标签 [ws-reliablemessaging]

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 投票
4 回答
842 浏览

c# - WCF“单向”通信实际上是 UDP 吗?

本文中,(在“Windows 通信基础”部分的最后)作者建议 WCF 中的单向传输本质上是 UDP。它是否正确?我是否应该根据本文的内容假设将我的服务操作标记为“单向”意味着我正在使用 UDP?

此外,他建议将 UDP 与 WS-ReliableMessaging 结合使用,以消除自己编写传输协议的这些方面的需要......好吧,但如果我想在需要的情况下利用 UDP 的性能优势,我应该,根据本文的建议,只需使用“一种方式”和 WS-ReliableMessaging 就可以了!?对我来说听起来有点牵强...

那么这里有什么问题呢?这篇文章的建议有哪些注意事项?

0 投票
0 回答
730 浏览

java - JAX-WS WS-RM "from java" without manually coding WSDL

I have a small project publishes a web service. The wsdl is generated on the fly by the JAX-WS runtime, using annotations in my impl class.

I was hoping to simply "turn on" the Reliable Messaging aspect by flagging something. I had envisioned that I could inject some annotations in my java source and/or supplemental xml file of sorts.

Questions I have:

1) Is everything of "Metro" integrated into the JDK.

2) Does RM (Reliable Messaging) include some sort of persistent queue so that it can survive crashes and restarts without losing messages? How does the standard JDK provided JAX-WS handle this, through some sort of SQL based database storage?

3) Can I do RM without having to write WSDL files?

4) Can I use a standalone embedded Tomcat to give my application WS-RM?

5) Does anyone know of a sample that comes closest to giving an application WS-RM through an embedded Tomcat?

ps. RTFM didn't work because TFM doesn't get to the point.

0 投票
1 回答
119 浏览

c# - 在 WCF 可靠请求回复服务方法中回复时如何处理失败

在可靠的请求回复中,我了解回复是公认且可靠的。如果由于某种原因,回复消息在所有 8 次尝试中持续失败(默认重试次数为 8 次),则通道将出现故障。

在服务器端服务方法中,如果回复失败,我需要采取措施,但我看不到如何实现这一点,因为服务方法不知道 WCF 上下文。

当您是客户端并在代理本身上调用服务方法时,处理故障似乎要容易得多,因为您可以从 ClientBase 实现自己的代理。

我已阅读: http: //msdn.microsoft.com/en-us/library/aa480191.aspx并进行了搜索,但找不到任何具体内容。

0 投票
3 回答
7721 浏览

.net - 当可靠会话打开并且突发异步请求时,WCF 很慢

对于实验,我在 VS2012 上使用 .NET 4.5 创建了一个简单的“Hello World”WCF 服务和客户端。服务器托管在控制台应用程序上并使用 net.tcp 绑定。我编写了客户端代码来向服务器发送大量异步请求(总共 700 个请求)。一切都很顺利,直到我打开服务的可靠会话功能。开启后,服务突然跑得很慢,在我的机器上花了将近一分钟才完成 700 个请求。我尝试微调 Concurrency 和 Throttling 参数(见下文),但没有帮助。

有谁知道为什么会这样?有没有办法避免这种情况?

如果我关闭了 Reliable session 功能,或者我使服务调用同步,则不会发生缓慢。所以我认为这可能与 WCF 在 WS-ReliableMessaging 模式下处理挂起请求的方式有关。

编辑:当我将 netTcpBinding 更改为 wsHttpBinding 时,这也没有发生。这很奇怪,因为在这种情况下 wsHttpBinding 比 netTcpBinding 快得多。

编辑:在服务器端运行 Perfmon.exe 表明在上述情况下,“线程数”逐渐从 8 增加到 100 以上。

编辑:我的电脑(本地网络)上的一些测量吞吐量。看到案例 1 的性能非常缓慢并且几乎没有用处。

  1. 异步 + NetTcpBinding/可靠吞吐量 -> 大约。14 次呼叫/秒(70 毫秒/次呼叫)
  2. Async + WsHttp/Reliable 吞吐量 -> 7957 call/s (0.12 ms/call)
  3. Sync + NetTcpBinding/Reliablethroughtput -> 3986 call/s (0.25 ms/call)

下面是我在实验中使用的服务器和客户端的代码和配置。

服务器:

客户:

服务器的 App.config:

客户端的 App.config:

0 投票
0 回答
119 浏览

java - 保证交付到动态收件人列表

我有一个即将推出的项目,通过网络服务向动态收件人列表提供有保证的通知消息传递。我们目前正在将 Synapse 用于其他一些转换、路由和代理要求,如果它们非常适合该任务,我很想继续使用 Synapse 或 WSO2。

Synapse/WSO2 提供 WS-ReliableMessaging 以保证交付给单个收件人,并提供 RecipientList 中介。但是,如何将两者结合起来并不明显。

我需要在每个收件人的基础上保证交付。

WSO2 提供这个吗?

一种选择可能是使用消息存储/消息处理器模式。可以将消息的克隆转储到消息存储中,每个收件人一个,以及预期收件人的嵌入式 url(可能带有自定义中介)。消息处理器可以将每个消息克隆发送给它们的预期接收者。但是一个重要的问题:消息处理器是否在第一次发送失败时停止并继续单独重试,阻止队列中的所有消息?我的猜测是它会阻止第一条失败的消息,直到它成功。

0 投票
0 回答
641 浏览

python - WCF 的 Python Suds 肥皂客户端。WS 可靠的消息传递

我有使用 WS 可靠消息传递的 WCF 服务。我想编写一些使用 suds soap 客户端连接到该服务的 python 脚本,但似乎 suds 不支持开箱即用的可靠消息传递。是否有人尝试使用具有可靠消息传递的泡沫?我是否必须编写一些握手逻辑,例如 CreateSequence、TerminateSequence 等?或者也许还有其他支持 WS-reliable 消息的 python soap 客户端?

提前致谢。

0 投票
1 回答
365 浏览

c# - 在 Web 服务 (asmx) 中实现 WS-ReliableMessaging - C#

我一直在阅读有关 WS-ReliableMessaging 的内容,并希望将其实现到我的 Web 服务 (.asmx) 中。谁能告诉我该怎么做?

我知道要在 WCF 中实现 WS-ReliableMessaging,我只需要更改配置文件以使用 ReliableSession,那么我在 .asmx 中构建的 Web 服务就是这种情况。

提前致谢!

0 投票
1 回答
2127 浏览

wcf - 启用可靠会话会导致异常,该异常涉及合同过滤器不匹配

语境

我正在使用 WCF 配置,试图启用可靠的会话。

当可靠会话被禁用时,一切都按预期工作,客户端可以成功连接到服务器。我一放入enabled="true"服务<reliableSession>的Web.config和客户端的App.config,当客户端尝试打开连接时会抛出以下异常:

由于. _ _ ContractFilter_ EndpointDispatcher这可能是因为合约不匹配(发送方和接收方之间的操作不匹配)或发送方和接收方之间的绑定/安全不匹配。检查发送方和接收方是否具有相同的合同和相同的绑定(包括安全要求,例如消息、传输、无)。

Stack Overflow 上有很多关于这个异常的问题,但似乎没有一个答案适用。例如,我检查了receiveTimeoutandinactivityTimeout是相同的,上下文模式是PerSessionservice 和 client-side等。

这是痕迹。你会在我的配置下面找到。它出什么问题了?

痕迹

在此处输入图像描述

  • 红色的例外是我上面引用的那个。
  • 之前收到的消息是一个CreateSequence.
  • 在异常之后发送的消息是addressing/fault消息,旨在将异常传播给客户端。

服务端配置

客户端配置

0 投票
0 回答
331 浏览

ios - Microsoft WCF 和 iOS 之间的 WS-ReliableMessaging 互操作性

如何从 iOS 目标 C 代码调用启用 WCF wsHttpBinding 可靠会话的 Web 服务。我编写了用于访问该服务的通用代码,但我收到此错误“操作http://tempuri.org/MyService/AuthneticateUser此端点不支持。此端点仅处理 WS-ReliableMessaging 2005 年 2 月的消息”。

这是我的代码

NSURL *url = [NSURL URLWithString: MySvcUrl];

NSHTTPURLResponse* 响应;NSError* 错误 = 零;NSData* resultData = [NSURLConnection sendSynchronousRequest:theRequest returnedResponse:&response error:&error]; NSString *result = [[NSString alloc]initWithData:resultData encoding:NSUTF8StringEncoding]; NSLog(@"result--%@",result);

0 投票
1 回答
107 浏览

soap - 不TerminateSequence 消息中的元素

我正在使用带有并调用单向远程操作的gsoap库来实现一个肥皂客户端。WS-Reliable MessagingWS-Security

除了数据包之外,所有的soap 消息(CreateSequence实际消息CloseSequence)在soap 标头中都有一个<wsse:Security>元素。TerminateSequence我错过了什么吗?

我的代码(SSCCE)如下所示: