问题标签 [xop]
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.
python - 无法使用 SUDS (python) 解密 MTOM/XOP 附件
我有一个从服务器下载文件的 SOAP 客户端。该请求的正文和附件(文件)使用两个单独的密钥进行加密。这两个键都包含在各自的<xenc:EncryptedKey>
标签中。我可以使用其中一个密钥解密正文没有问题,但是附件给我带来了问题。
我的代码:
充其量我得到的结果是乱码,但通常它只是说Error while decrypting in CBC mode
。
问题:有人遇到过这个问题吗?我愿意接受 Python、Java、PHP、Perl、C 以及几乎所有在 linux 上运行的东西的建议。MTOM/XOP 附件的加密方式有什么特别之处吗?
我已经看到了这个问题,但它没有正确的答案。八位字节/流是指内容类型,而不是传递机制,因此答案不正确。
编辑:服务器规范说他们使用带有 PKCS5 填充的 AES128-CBC 算法加密消息。对我来说,他们使用 DES 填充进行 AES 加密没有任何意义,但他们坚持这一点。
Edit2:有时附加的消息没有正确的 AES128 解密长度(例如 6023 字节或 4071 字节)。
作为参考,消息采用以下格式:
java - 在 apache cxf 3.0.X 中为 WSS4JOutInterceptor 设置 EXPAND_XOP_INCLUDE
当将 MTOM ENABLE 设置为 true 时,我想避免自动生成 apache cxf(版本 3.0.4)中包含的 xop 我该怎么做?例如,我有一个肥皂服务。它支持 mtom 但不支持 xop 包含注释,所以它拒绝了我的请求:
我该如何设置我的请求:
所以最后我只想替换:
和
怎样才能得到这个结果?在较新的版本中,此https://ws.apache.org/wss4j/apidocs/org/apache/wss4j/common/ConfigurationConstants.html#EXPAND_XOP_INCLUDE有一个参数,如何在旧版本中复制?
这是我使用的java代码:
php - 读取 SOAP MTOM/XOP 消息
我在读取 MTOM/XOP 中的 SOAP Web 服务中的消息时遇到了严重问题。我正在尝试反序列化但没有。我也尝试过使用 SOAP UI,但也没有。我正在使用 PHP 反序列化它。我知道这个答案“ PHP 中的 SOAP MTOM/XOP 支持”,但它对我不起作用。任何帮助或建议都会非常感谢它。
这是我收到的消息:
PK|!cK RECIBO.XML�X�n�6}/��n]m�/�^� vl���%�Qa���l����@g��D9�4m��n “噢!”\8“3|�|e�K/���D�7�jLu����!�2 x�C+P�s�; �jsk����yP�1L\�� 8�U�~�8�8t������2�}��Y��$�8�>�R�U�[v9��H��^�s�D�@��+ �8������F�>o�;�����LS�T��4��.�4�S��SO+eox ��e�ֵ=��o���O3�]���# o�_�6/ 6�ZHJ����c{����#nը���g��&u�� ukb�����+7����������PKL8 ��/PK<|!cKL8��/RECIBO.XMLPK8�--MIMEBoundary_ ALPHANUMERICONTENT*-- "
java - JAX-WS CXF 空 XOP 多部分附件,文件大小 > ~210kb
我正在使用 jax-ws cxf 从 SOAP 接口加载文档。我可以通过 SoapUI (xop/multipart) 获得正确的文档。不幸的是,当我尝试通过代码加载附件时,CachedOutputStream
大于~210kb 的文件为空。
我尝试了什么:
- 为我的 WebServiceClient 激活 MTOMFeature
- 使用 JVM 参数
CachedOutputStream.Threshold
和CachedOutputStream.MaxSize
- 使用不同版本的 apache-cxf (
3.2.1
或3.1.14
)
调试时:
PhaseInterceptorChain#doIntercept
使用AttachmentInInterceptor
(at currentInterceptor.handleMessage(message);
) 加载附件LazyAttachmentCollection
并将其添加到消息中。
快乐的情况:文档被加载到 CachedOutputStream 并且在 for 循环之后可用。
错误情况(文件太大?):调用 currentInterceptor.handleMessage 后文档直接可用,但循环结束后文档消失
然而,在上述两种情况下,正确的 tmp 文件都会保存到我的磁盘中(与我的文档内容完全相同)。此外,即使循环完成,我也可以在这两种情况下加载该文件:
((org.apache.cxf.attachment.LazyAttachmentCollection)(message.getAttachments())).loadAll();
node.js - node.js 肥皂附件文件/ cid href
我正在使用 node-soap 来使用 laposte Web 服务,该服务应该会向我发送带有 PDF 附件的响应。
但我得到的不是文件,而是一个 href,如下所示
href: 'cid:c482ea77-cc5b-406f-8596-295470ce8049-100134@cxf.apache.org'
在文档中,这个附件被描述为一个XOP 二进制文件:不明白这意味着什么,也不知道如何在节点中处理和打开它......
您对如何处理此类文件/href/cid 有提示吗?
额外的问题:到底为什么像 Laposte(法国的主要送货服务)这样的企业仍在使用这样的技术,而文档却如此之少,却被人群挪用?
最佳 <3
java - 使用 java 边界错误解析 XOP/MTOM 响应
我尝试了主题讨论中给出的解决方案https://stackoverflow.com/a/37503560/9623898但我收到错误 - javax.mail.MessagingException: Missing start boundary
soapui - SOAPUI - 响应中的 GZ 文件
我正在使用 SOAPUI。它调用 SOAP 调用,下载 gz 文件。响应包括一个 gz 文件。在响应的附件选项卡中,我确实看到了一个文件 abc.gz,其内容类型为 application/gzip,类型为 XOP。
我已尝试设置请求属性 - 我已启用 MTOM 为真。我还指定了一个转储文件。
转储文件不是 gzip 文件,而是 XOP 文件
我的问题是 - 我如何从中提取 gz 文件?
XOP 文件看起来像
assembly - VPERMIL2PS 和 VPERMIL2PD 所有 PERMIL2 指令都消失了 - 替换丢失的指令
如何使用 AVX2 中的等效指令替换丢失的VPERMIL2PS指令?
使用来自 ymm4/mem 的控件置换 ymm2 和 ymm3 中的单精度浮点值,结果存储在具有选择性零匹配控件的 ymm1 中。
英特尔 C/C++ 编译器内在等效项
VPERMIL2PS ymm1, ymm2, ymm3,ymm4/m256, imz2 描述 - 使用来自 ymm4/mem 的控件置换 ymm2 和 ymm3 中的单精度浮点值,结果存储在 ymm1 中,并带有选择性的零匹配控件。imz2:is4 立即字节的一部分,提供适用于双源置换指令的控制功能。
最接近的指令是 VPERMILPS .. 这个指令仍然有效
VPERMILPS ymm1、ymm2、ymm3/m256 描述 - RVM V/V AVX 使用来自 ymm3/mem 的控件在 ymm2 中置换单精度浮点值并将结果存储在 ymm1 中。
我很难说它如何正确,因为为了可靠性,您需要模拟指令VPERMIL2PS,因此我呼吁当地专家!
最近的英特尔(R) AVX 架构更改 2009 年 1 月 29 日 删除:VPERMIL2PS 和 VPERMIL2PD
所有 PERMIL2 指令都消失了——包括 128 位和 256 位版本。像下面的 FMA 一样,他们使用 VEX.W 位来选择来自内存的源——我们不再朝着使用 VEX.W 的方向发展。
英特尔编译器不理解此 VPERMIL2PS 指令。
AVX-512 指令需要最新的处理器,这不是一个通用的解决方案.. Visual Studio成功组装了该指令,但该指令无法在处理器上执行,抛出异常。
反汇编代码
指令的完整描述
手术
VPERMIL2PS(VEX.256 编码版本)
Bochs 模拟此指令的方式
python - 如何使用 Python 在 Mtom/xop 请求中发送 Content-id
我正在尝试使用 python 行为发送 mtom/xop 请求。我无法理解如何发送 Content-id
我正在使用 python3 和 xml 有效负载。
Python代码
错误
使用此代码在有效负载文件中发送标头并发送 POST 请求
java - WCF MTOM/XOP 客户端反序列化错误
这是我已经回答过的那些“问题”之一,但是我发布了 b/c,基于一周的谷歌搜索,那里的信息似乎接近于零。
TL;DR:WCF MTOM 将 BasicHttpBinding 客户端编码到外部/第 3 部分,非 .NET Web 服务在 MTOM 响应的 XOP 处理上阻塞 - 基本上 MTOM 编码器似乎期望二进制元素中的 base64 有效负载,但运行到.. . 指令并且无法将 SOAP/XML 反序列化为运行时对象,从而在此问题的标题中引发错误。
错误:应从命名空间“ http://mynamespace ”结束元素“MyBinaryData”。从命名空间“ http://www.w3.org/2004/08/xop/ ”中找到元素“xop:Include ”
如前所述,关于这个主题的内容并不多,我猜 b/c MS 基于服务开发编写了大部分 WCF 文档,而不是客户端(尽管有一些,公平地说)。
我不打算详细介绍初始设置 b/c 我将要回答我自己的问题,但我会在回答前先说这更类似于 WCF 的默认配置MTOM 比没有。
另外,我知道 WCF 是旧的、无聊的,并且不再由 MS 积极开发,但它仍然受到支持并且有很多用途。实际上,我没有太多选择,必须找到一种方法来完成这项工作。这就是为什么我要与其他必须处理这种头痛的人分享我的发现。