我目前遇到与MIME标头中的'boundary'值相关的问题。我们有一个带有自定义绑定的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消息验证器来验证soap消息以及MIME头,并且验证器由于某种原因不喜欢'boundary'值并且验证失败。在上面的示例边界值中,如果我只取出'='符号并使其看起来像这样,
boundary="uuid:f45e6739-e796-41c7-bc96-6dd977a185f6+id2"
验证通过。那么你能否从边界值中删除这个'='符号来取悦我?
感谢。
答案 0 :(得分:0)
根据RFC1341,<='是合法值:
boundary := 0*69<bchars> bcharsnospace
bchars := bcharsnospace / " "
bcharsnospace := DIGIT / ALPHA / "'" / "(" / ")" / "+" / "_"
/ "," / "-" / "." / "/" / ":" / "=" / "?"
显然NIST的验证器已经坏了。
不幸的是,我不相信有任何方法可以在WCF中自定义边界格式。