0

我目前遇到了与 MIME 标头中的“边界”值相关的问题。我们有一个带有自定义绑定的 wcf 服务来支持 mtom。以下是我们正在退出服务的示例 MIME 标头的一部分:

content-type: multipart/related; 
type="application/xop+xml";start="<http://tempuri.org/0>";boundary="uuid:f45e6739-e796-41c7-bc96-6dd977a185f6+id=2";start-info="application/soap+xml"

我们正在使用 NIST 消息验证器来验证带有 MIME 标头的肥皂消息,并且验证器由于某种原因不喜欢“边界”值并且验证失败。在上面的示例边界值中,如果我只是取出'='符号并使其看起来像这样,

boundary="uuid:f45e6739-e796-41c7-bc96-6dd977a185f6+id2"

验证通过。那么你能请我从边界值中去掉这个'='符号吗?

谢谢。

4

1 回答 1

0

'=' 是根据RFC1341的合法值:

boundary := 0*69<bchars> bcharsnospace 
bchars := bcharsnospace / " " 
bcharsnospace := DIGIT / ALPHA / "'" / "(" / ")" / "+" / "_" 
                 / "," / "-" / "." / "/" / ":" / "=" / "?" 

显然是 NIST 的验证器坏了。

不幸的是,我不相信有任何方法可以自定义 WCF 中的边界格式。

于 2013-10-17T17:29:07.430 回答