【发布时间】:2015-12-23 20:38:08
【问题描述】:
我正在尝试使用 PHP 库 AS2Secure 接收 AS2 MDN。消息到达并解码得很好,但是当响应发出时,它会从Content-Type 中删除主要的“multipart/signed”值。
例如,这样的内容应该在主标题中以指定多部分消息:
Content-Type: multipart/signed; boundary="----=_Part_8f23d0b4-8a42-4946-9928-4d12d9f7fc66.63"; protocol="application/pkcs7-signature"; micalg=SHA1
但是,当多部分消息的响应发出时,我只在主标题中看到:
Content-Type: text/html; charset=UTF-8
这会在远程服务器中触发错误,它希望消息将其内容类型指定为多部分。
我在AS2MDN.php 中跟踪了将多部分内容类型剥离到此代码:
// TODO : replace with futur AS2MimePart to separate content from header
if (strpos($content, "\n\n") !== false) $content = substr($content, strpos($content, "\n\n") + 2);
如果我删除此代码,缺少的 Content-Type: multipart/signed 行会显示在正文中,但 Content-Type: text/html 仍会显示在标题中。
有什么想法吗?
【问题讨论】:
-
这是来自合作伙伴系统的 MIME 标头,对吗?他们能改变吗?
-
合作伙伴系统的 MIME 标头是
multipart/signed,他们希望得到类似的multipart/signed响应。然而,他们从我们的系统得到的多部分消息的响应是text/html。就像某些东西在输出时覆盖了内容类型的 mime 值。
标签: php content-type edi