Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么Glassfish Jersey会发送格式不正确的请求正文以获取大型邮件正文?_Java_Jersey Client - Fatal编程技术网

Java 为什么Glassfish Jersey会发送格式不正确的请求正文以获取大型邮件正文?

Java 为什么Glassfish Jersey会发送格式不正确的请求正文以获取大型邮件正文?,java,jersey-client,Java,Jersey Client,以下问题出现在最新版本“3.0.2”中。这些是我的依赖项: dependencies { compile "org.glassfish.jersey.core:jersey-client:3.0.2" implementation 'org.glassfish.jersey.inject:jersey-hk2:3.0.2' testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'

以下问题出现在最新版本“3.0.2”中。这些是我的依赖项:

dependencies {
    compile "org.glassfish.jersey.core:jersey-client:3.0.2"
    implementation 'org.glassfish.jersey.inject:jersey-hk2:3.0.2'
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
}
当执行以下post请求时,对于长度大于或等于65840的任何实体,在服务器上接收到的请求正文的格式不正确

导入jakarta.ws.rs.client.client;
导入jakarta.ws.rs.client.ClientBuilder;
导入jakarta.ws.rs.client.Entity;
导入jakarta.ws.rs.core.Response;
公共类MyClass{
公共静态void main(字符串[]args){
Client Client=ClientBuilder.newClient();
//int count=65839;//有效
int count=65840;//不工作
字符串体=新字符串(新字符[计数])。替换(“\0”,“A”);
断言(body.length()=计数);
响应=空;
试一试{
响应=客户端。目标(“http://localhost:8888/")
.request()
.post(实体.文本(正文));
}捕获(例外e){
e、 printStackTrace();
}
}
}
要重现该问题,请运行服务器,
nc-l 8888>output.txt
,然后运行java代码。 输出如下所示:

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPOST / HTTP/1.1
Content-Type: text/plain
User-Agent: Jersey/3.0.2 (HttpUrlConnection 1.8.0_212)
Host: localhost:8888
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Content-Length: 65840

AAAAAAAAAAAAAAAAA... (Rest Of The Body)
而对于长度小于65840的任何实体,输出如下所示:

POST / HTTP/1.1
Content-Type: text/plain
User-Agent: Jersey/3.0.2 (HttpUrlConnection 1.8.0_212)
Host: localhost:8888
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Content-Length: 65839

AAAAAAAAAAAAAAAAA... (Rest Of The Body)