最初に質問をしてから、背景を 説明します。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);
}
}
}
ただし、これは最も効率的な方法ではありません。なのでここで質問しました