我会先问这个问题,然后给出一些背景知识: 有谁知道计算 SOAP 信封大小是否包括标题,或者只是标签之外的内容?
Content-Length 包括标题信息,但我不能假设 Content-Length = Envelope Size。SOAP 规范似乎没有解决信封大小,我开始担心它是一种“由实施者决定”的事情。
任何答案或线索都会很棒。
如果您正在检查它是否超过最大大小,您可以这样做:
if (maxMessageSize > 0) {
FixedByteArrayOutputStream fbaos = new FixedByteArrayOutputStream(maxMessageSize);
try {
} catch (XMLStreamException e) {
handleException("Error in checking the message size", e, synCtx);
} catch (SynapseException syne) {
synLog.traceOrDebug("Message size exceeds the upper bound for caching, request will not be cached");
return;
} finally {
try {
fbaos.close();
} catch (IOException e) {
handleException("Error occurred while closing the FixedByteArrayOutputStream ", e, synCtx);
}
}
}
不过,这不是最有效的方法。所以我在这里问了