2.2kt以上のテキストデータを返すxqueryファイルがあります。ブラウザ(Chrome)でxqueryファイルに直接アクセスすると、すべてのテキストデータが読み込まれます。xdmpを使用しているときにXDMP-TOOBIGエラーが発生します。http-post
しかし、私はxdmp:http-post($url,$options)
を使ってそのxqueryファイルへのポストコールをしようとすると、XDMP-TOOBIGエラーがスローされます。以下はトレースです。
XDMP-TOOBIG: xdmp:http-post("http://server:8278/services/getText...", <options xmlns="xdmp:http"><timeout>600000</timeout><authentication method="basic"><usernam...</options>) -- Document size exceeds text document size limit of 2048 megabytes
in /services/invoke.xqy, at 20:7 [1.0-ml]
$HTTP_CALL = <configurations xmlns:config="" xmlns=""><credentails><username>admin</username><password>admin</password...</configurations>
$userName = text{"admin"}
$password = text{"admin"}
$timeOut = text{"600000"}
$url = "http://server:8278/services/getText..."
$responseType = "text/plain"
$options = <options xmlns="xdmp:http"><timeout>600000</timeout><authentication method="basic"><usernam...</options>
$response = xdmp:http-post("http://server:8278/services/getText...", <options xmlns="xdmp:http"><timeout>600000</timeout><authentication method="basic"><usernam...</options>)
$set-reponse-type =()
xdmp:http-postまたは他のソリューションを使用したファイルで指定できる制限はありますか?
お手数ですが、
エラーメッセージに示すように、2048MBを超えるテキストドキュメントを作成することはできません。おそらく、具体的な実装ではなく、達成しようとしていることについてもっと説明すれば、誰かが実行可能な代替案を提案することができます。 –
これまで、レスポンスタイプがtext/plainのテキストデータを返す "server:8278/services/getText.xqy(Mocked)"という1つのURLをヒットしました。これは2 GB以上を返します。しかし今ではこのコードはawsクラスタに移されていますが、そこではポート8278へのアクセスはありませんが、awsにアクセスできるポートからhttpポートを呼び出すことができます。 invoke.xqyでは、xdmp:http-post()関数を使用しました。つまり、invoke.xqyはプロキシと似ています。これは限られたデータで動作し、2GBを超えるとTOOBIGエラーが発生します。これに対する解決策はありますか? – Karthick