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

c# - 从 Dot Net 应用程序向 AXIS2 Web 服务发送 MTOM 请求

我需要向 AXIS2 Web 服务发送 MTOM 请求(将文件签入到 Documentum 位置)。

该服务已经确定,两种传输模式,64位编码和MTOM。即使我使用 MTOM 模式并对 Web.Config (WSE 3.0) 进行更改以仅发送 MTOM 请求,base 64 也会通过网络传递。

如何确保请求是 MTOM?我需要将文件作为字节数组共享。签入文档的方法期望它是一个字节数组。

0 投票
1 回答
2526 浏览

wcf - System.ServiceModel.ProtocolException 与两个“并行”代理

我的网络服务一直运行良好,很难说我做了什么导致它们不时崩溃。我添加了 HTTP 基本身份验证并交换了数据库提供程序,从 ObjectDB 到 MySQL,因此性能有所下降,但这似乎无关紧要。

我在 GlassFish v3.1 上托管了受 SSL 保护的 Java Metro Web 服务,并启用了 MTOM 流。我用 WCF 客户端给他们打电话。即使我使用相同的参数调用相同的服务,异常也会不时发生。

更新有时它的行为就像它成功调用一样,然后无论我调用哪个服务,即使使用helloWorld,我也会遇到异常。如果我只调用其中一个代理,调用就很好,但是例如,如果我调用dataMiningClientthen ,我会得到异常dataStoreClient。线程安全?

看:

我在服务器端没有任何错误消息。

这是我收到的异常消息:

System.ServiceModel.ProtocolException:内容类型 multipart/related;start="";type="application/xop+xml";boundary="uuid:d64b0098-0dcb-4da4-a047-d305b55da9f5";start-info="text响应消息的 /xml" 与绑定的内容类型不匹配 (text/xml; charset=utf-8)。如果使用自定义编码器,请确保正确实现 IsContentTypeSupported 方法。响应的前 1024 个字节是:'--uuid:d64b0098-0dcb-4da4-a047-d305b55da9f5 Content-Id: Content-Type: application/xop+xml;charset=utf-8;type="text/xml"内容传输编码:二进制

客户代码

任何提示这里可能是什么问题?请告诉我是否应该用更多信息扩展这个问题;我可能会深入研究 WCF 消息日志。

0 投票
0 回答
1456 浏览

wcf - 使用 MessageContract 进行 WCF MTOM 消息编码

要求是能够使用 WCF 服务上传一个大文件(~2GB),我创建了一个 messageContract 类,如下所示

这是我在服务端的网络配置

客户端也使用相同的绑定配置这是我在过去 4 小时内遇到的异常。我无法弄清楚问题所在..

异常内容

类型多部分/相关;type="application/xop+xml";start=" http://tempuri.org/0 ";boundary="uuid:382b5a40-f4f2-4399-9e63-b3f9e81227a5+id=2";start-info="application /soap+xml" 不受服务http://localhost:909/Service1.svc的支持。客户端和服务绑定可能不匹配。

0 投票
1 回答
238 浏览

c# - 从 SQL 加载数据并将其转换为二进制的推荐方法

我在 SQL Server 2008 数据库上有数据,需要加载并通过基于 MTOM 编码的 WCF Web 服务发送。

问题 1:
我想知道我是否需要准备并将DataTable(或我将从 SQL Server 加载的任何内容)压缩为二进制形式,还是仅仅因为它是 MTOM,该过程会自动进行压缩?

问题 2:
为 WCF 加载和准备数据的最佳方式是什么?我可以使用 Linq-to-SQL、EF4 ...或任何其他建议的方法来加载数据。

我正在使用 C#

谢谢。

0 投票
1 回答
2650 浏览

php - PHP 中的 SOAP MTOM/XOP 支持

我想用 PHP 创建一个 Web 服务,它可以支持MTOM/XOP. 我的 Web 服务处理功能应该能够提取附件。当我用谷歌搜索时,我只能找到WSF(Web Service Framework)答案。

有其他选择吗?我是这个 MTOM/XOP 的新手。目前我使用NuSoap但它不支持 MTOM/XOP。

0 投票
6 回答
29495 浏览

.net - 向 SOAP 请求添加附件

我对如何在我的 SOAP 请求中添加附件一头雾水。我们必须使用 Java 构建的第三方 Web 服务,这是我遇到过的最复杂的事情。我们使用过的任何其他需要附件的 Web 服务都具有添加附件的方法或属性。简单的。然而,这个没有提供这样的方法。

我们已经得到了 SOAP 消息的一个版本,它与我们想要的 XML 完全一样,但是它是我们无法添加的文件的 MIME 部分。

例子:

这是我们可以生成和发送的 XML 部分,但是它是不正确的,因为我们需要一个 MIME 部分,例如:

在 XML 之前:

在 XML 之后

我已经在互联网上搜索了答案,但一无所获。似乎没有太多关于为此使用 WSE 的文档。我必须强调,WSE 是服务器端的要求,我无法改变技术来解决这个问题。

有没有办法可以添加这些 MIME 部分?

编辑:我必须补充一点,我可以通过 SoapUI 发送带有附件的工作 XML 文档,但似乎无法在我们的代码中找到方法。

我添加了一个赏金来尝试解决这个问题。如果有人有任何其他想法,请告诉我。

再次编辑:我知道自从我能够在这里检查回复以来已经有一个星期了,但是虽然有些人给出了一个好主意,但我仍然在画一个空白。糟糕的文档XopDocument及其方法是一个很大的症结,如果有人有任何使用示例,SaveToXopPackage请提供,因为这开始令人讨厌!

0 投票
1 回答
1077 浏览

encoding - 如何根据来自服务器的响应消息中的消息编码为 WCF 客户端中的传入消息指定消息编码?

如何根据来自服务器的响应消息中的消息编码为 WCF 客户端中的传入消息指定消息编码?

服务器可以发送带有文本消息编码或 MTOM 的响应吗?

从服务器收到响应后,如何确定它以及如何在客户端指定消息编码。

0 投票
1 回答
1108 浏览

java - MTOM 的 @StreamingAttachment (Metro) 中的 parseEagerly 是什么意思

有人请解释@StreamingAttachment(parseEagerly=true). 启用/禁用时有哪些优点/缺点?找不到任何详细的文档。

0 投票
2 回答
1831 浏览

.net - WSE 3.0 - 字节数组被编码为 Base64 而不是“MTOM-ing”为二进制

关于这个区域,我还有其他几个问题,但现在它们有点多余。对他们的任何回答也将不胜感激,但这个问题是我目前主要关心的问题。

我已经关注了许多关于 MTOM/XOP 如何在 WSE 3.0 中工作的示例,并且完全按照看起来需要的方式设置了我的项目。我有一个字节数组字段,它被指定为 DataType:-base64Binary。在此我放置了我要添加的附件的字节数组。当我运行应用程序并检查请求时,数据被内联编码为 base64,即没有 XOP Include 元素和相关的 MIME 部分。

我对 WSE 3.0 中的 MTOM 的理解是,在编码时,它将采用指定为 base64Binary 的任何字段并将其编码为二进制并将其移动到 MIME 部分,用 XOP Include 元素替换它。也就是说,它刚刚奏效。但是我已经在参考文件中将服务设置为继承Microsoft.Web.Services3.WebServicesClientProtocol并将RequireMtom标志设置为 true,但它仍然没有正确编码。

我在这里错过了什么吗?是否应该执行任何其他步骤才能使其正常工作?

编辑:在第 100 次查看我的代码后,我想知道这是否可能是因为我必须在运行 ProcessMessage 方法之前序列化有效负载。这听起来像是一个问题吗?我们序列化的原因是因为我们必须使用的方法接受一个具有内容属性的“有效负载”参数,这个内容属性是一个 XMLElement 属性,我们可以获得它的唯一方法是序列化所需的类。但这是否会阻止 MTOM 识别 base64 字段的数据类型,因此不会使用 MIME 部分和 XOP 转换为二进制?现在只是真的抓着稻草。

编辑 2:虽然我在下面有一个解决方案,但第三方公司现在说我们的命名空间前缀是错误的!我们有类似的东西<q1:Attachment xmlns:q1="http://whatever" />,他们要求这样做<s:Attachment xmlns:s="http://whatever" />。我要疯了还是没关系?有没有办法告诉它如何分配命名空间前缀?

0 投票
1 回答
1630 浏览

c# - 启用 MTOM,收到“超出最大请求长度”。仍然

这越来越令人沮丧......我对 Web 服务还是半新的,我真的不明白为什么我不知道如何使用 Microsoft WSE 3.0 在我的 Web 服务上启用 SOAP 的 MTOM 编码。我已将以下内容添加到我的 Web 服务中:

服务器上我的库中的 Web.config 和 app.config:

在客户端,我在 app.config 中添加了相同的内容,添加了客户端模式="On"。

当我尝试上传一个 40MB 的文件时,我收到了常见的错误“超出了最大请求长度”。

有什么解释吗?我是否必须告诉传输使用该配置?我怎么做?谢谢!