问题标签 [mtom]

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 回答
9008 浏览

c# - WCF 存在并部分工作,但对于某些调用返回“没有端点侦听 - (404) 未找到”。

我们的服务可以处理从小到大的数据集(文档生成),它对某些调用运行良好,但对于某些特定请求(完全相同的方法,不同的参数)它只返回:

System.ServiceModel.EndpointNotFoundException:在http://localhost:8010/MyService/MyService.svc上没有可以接受消息的端点侦听。这通常是由不正确的地址或 SOAP 操作引起的。有关更多详细信息,请参阅 InnerException(如果存在)。---> System.Net.WebException:远程服务器返回错误:(404)未找到。

请注意,该服务正在运行,文档已生成,但正如我所说,并非所有文档...(并且可以从浏览器打开服务)

我在 web.config 中打开了跟踪(system.diagnostics),但在 svclog 中没有进一步的信息。

绑定(wsHttp)配置为:

而且,还有:

我相信消息应该在maxReceivedMessageSize, 和其他属性的范围内。

目前我对消息的大小持怀疑态度,但不能确定 - 你知道如何进一步调试吗?

0 投票
1 回答
1296 浏览

java - 在 Java 中将文件附加到 Web 服务响应

如何在 Java 中将文件附加到 Web 服务响应?

0 投票
1 回答
7019 浏览

wcf - 通过 WCF 发送二进制数据:二进制与 MTOM 编码

我对 WCF 以及通过 WCF 发送二进制数据的知识有限,所以这个问题可能有点初级。

我想知道用BinaryMessageEncodingBindingElement和发送数据的区别MtomMessageEncodingBindingElement在阅读了 MSDN 关于大数据和流式传输的此页面后,我仍然不清楚何时使用哪种方法。

还有一个小问题:带附件的消息和 MTOM 消息是一回事吗?

0 投票
1 回答
2620 浏览

attachment - 如何使用 Spring WS 和 Axiom 从带有大型 XOP 附件的 SOAP 消息中读取数据

我正在尝试构建一个 Web 服务,它将接收大文件并使用 SOAP 消息中指定的名称保存它们。这是一个示例请求消息

我已经构建了一些东西:我可以在没有 OutOfMemoryError 的情况下接收大型 XOP 文件。问题是我无法访问请求的 ProjectName 节点,因为任何尝试获取它都会导致将附件内联到请求中。而这本身就会导致 OutOfMemoryError

这是我目前用于此目的的代码

谁能帮助我使用 Spring WS 和 Axiom 提取大型 XOP 附件和 ProjectName 节点内容?

提前致谢

0 投票
1 回答
979 浏览

wcf - SOAP 未在 WCF 客户端中编码为 MTOM

我正在从 WCF 客户端连接到 DFS(Documentum Foundation Services)实例。我正在使用 basicHttpBinding 并且设置了 messageEncoding="Mtom"。然而,当我检查 SOAP 时,我看到了 SOAP 信封中的文档。SOAP 中的文档部分大约是实际文档大小的 1.33 倍。所以消息被 Base64 编码。

我在 WCF 端是否有更多设置要更改,或者是否有在 DFS 端未启用的 MTOM 设置?

wsoma:OptimizedMimeSerialization 必须在 WSDL 中吗?

谢谢

0 投票
1 回答
1592 浏览

wcf - 在 WCF 和证书身份验证中流式传输 MTOM 附件

我正在寻找关于我正在尝试做的事情是否得到支持的明确答案。

基本上,我使用 WCF 流式传输大型 MTOM 附件(200 Mb),这工作得很好。该服务的安全要求是使用 HTTPS 和基于证书的身份验证。我可以通过 HTTPS 运行服务而没有任何问题,但是一旦我将 IIS 设置为“接受客户端证书”或“需要客户端证书”(代码中没有更改),就会引发以下错误(但只有在附件结束后80 Mb 左右):

我找到了一些资源,很抱歉现在找不到它们,这表明失败可能与传入消息无法数字签名或由于消息内容的流式传输性质而无法验证有关。我相信该服务必须对整个消息内容进行散列以验证证书,但这无法实现,因为在尝试进行验证时,部分消息正在传输中。

我已经设置了消息契约,以便正文是单个 Stream 元素,而其他元素包含在标头中:

服务配置如下所示:

客户端配置如下所示:

再一次,在我将 IIS 客户端证书设置为接受或要求之前,这将正常工作。

此外,IIS 日志中有 413 错误...

我已经在我的文件上传服务之上设计了一个身份验证服务来解决这些问题;但我真的很想知道我正在尝试做的事情是否“可行”。

非常感谢 - 帕特里克

0 投票
1 回答
2081 浏览

.net - Need guidance with sending files to a .NET WCF Web Service

Thank you all in advance for your assistance!

I am creating a .NET WCF web service (C#) for sending emails.. basically a central emailer service that all internal apps can use. my hurdle has been email attachments (1 or more)... I have been looking for the best practices for sending binary data to a WCF web service. The following needs to be considered:

  • all requests to this service will be internal
  • attachments are optional but may contain more than 1
  • for multiple attachments i need to ensure my service doesnt time out

I have read alot about converting binary to a base64 string but alot of the drawbacks with performance (especially with multiple files) scared me from accepting this approach. So i kept searching and found some MTOM topics which are supposed to be more efficient for binary file transfers.

Basically i need guidance on what approach is the best practice for this type of functionality and ideally some sample code to send me on my way.

Thanks again in advance for your time!

0 投票
2 回答
7360 浏览

java - JAX-WS 总是内联发送 MTOM 附件

基本上我想创建一个 Web 服务客户端来通过代理方法发送一个 mtom soap 消息。我已经从 Web 服务 wsdl 创建了我的服务工件。该消息已正确创建,但是当我启用 mtom 并添加附件时,附件始终是内联发送的,而不是在单独的 mime 部分中发送。它类似于 mtom 已启用,但由于某种原因,它决定不优化消息,因此内联发送。通过 soapui 运行相同的代码会得到正确的结果,所以我知道服务本身会接受它。

这是我创建和发送soap请求的基本代码。我启用了 mtomfeature,但也尝试过使用soapBinding.setMTOMEnabled(true); 这两种方法进行调试,((SOAPBinding) binding).isMTOMEnabled()以检查它是否设置为启用。

我得到的是我的附件是内联发送的,如下所示。(用wireshark捕获)

我想要的是将结果标签中的附件替换为内联标签,并将附件添加到不同的 mime 部分中的肥皂消息中。例如

然后将以下内容添加到肥皂消息中

0 投票
1 回答
1343 浏览

c# - 具有 SmartCard 认证的 WCF 客户端适用于 Win7,但不适用于 XP

以下是简要摘要:我有一个 WCF 客户端 (.NET 4.0),它在 Windows 7(64 位)上表现良好,但在 XP(32 位)上失败。由于我有很多 XP 客户,这是一个大问题。

  • 客户端是从服务提供者提供的 wsdl 文件生成的。
  • 服务是基于 SSL 的 SOAP 1.2,带有 MTOM
  • 客户端证书位于智能卡 (ActivIdentity) 上

这是代码:

这个绑定是这样创建的:

其中 NCTSMessageEncodingBinding 与带有 overriden 的 MtomMessageEncodingBinding 几乎相同IsContentTypeSupported(...)

因此,此代码适用于 Win7,对话框要求输入 PIN 码以从智能卡中获取“私人部分”。在 XP 上,输入 PIN 的对话框永远不会发出,而是出现错误消息:

"An error occurred while making the HTTP request to https://cistest.apis-it.hr:8446/g2bservis. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the security binding between the client and the server."

请问有什么线索吗?XP和Win7在支持基础架构上有什么区别?

小更新:请注意工作和非工作跟踪日志中不同的粗体行。出于某种原因,在 Windows 7 机器上,初始消息在消息中包含服务名称 (cistest.apis-it.hr),而在 XP 上则缺少此信息。收到此消息后,XP 上的套接字已关闭...

0 投票
0 回答
1661 浏览

jaxb - 使用 Camel Spring-WS 和 JAXB 数据格式解组 MTOM 消息

1) 有没有办法使用 Camel Spring-WS 组件解组 MTOM 消息?

2)我尝试使用 Camel JAXB 数据格式。它没有用。Datahandler 没有任何内容。JAXB 数据格式是否支持 MTOM?

3) 我认为在 JAXB 数据格式中未启用 MTOM。因此,我使用启用了 MTOM 的 JAXB2Marshaller 创建了一个自定义数据格式。但仍然面临同样的问题。

弹簧配置