2017-06-05 84 views
0

我想使用JMeter来测试上传文件的一个平静的端点,但我得到一个400错误。跳到我身上的一件事是边界值;它与请求中显示的不一样。我可以在浏览器中使用端点而没有问题,并且我已经复制了FF中开发人员工具中显示的标头。JMeter 400错误文件上传

这里是JMeter的相关信息:

结果选项卡:

主题名称:ASDF - 负载测试1-1

采样开始:2017年6月5日08:47 :46 EDT

加载时间:159

连接时间:28

延迟:159

字节大小:438

发送的字节:821003

头大小的字节数:0

采样计数:以字节为单位438

车身尺寸: 1

错误数:1

数据类型( “文本” | “BIN” | “”):

响应代码:400

响应消息:错误的请求

响应头:

HTTP/1.1 400错误请求

日期:星期一,2017年6月5日12时47分46秒GMT

服务器:Apache/2.4.25(Win64的)的OpenSSL/1.0。2K

缓存控制:无缓存,无店铺,最大年龄= 0,必重新验证

杂注:无缓存

过期:0

严格-Transport-安全性:max-age = 31536000; includeSubDomains

X-XSS-Protection:1;模式=块

X框-选项:DENY

X-的Content-Type-选项:nosniff

缓存控制:无缓存,必须-重新验证

的Content-Length: 0

连接:关闭

HTTPSampleResult字段:

的ContentType:

DataEncoding:空

请求选项卡:

POST https://localhost/my/rest/endpoint

POST数据:

--9amm365-gMmimP70lvs9jIvlIxOfkocUN

内容处置:形式-数据; NAME = “语法分析”;文件名= “asdf.docx”

内容类型:应用/ vnd.openxmlformats-

officedocument.wordprocessingml.document

内容传送编码:二进制

- -9amm365-gMmimP70lvs9jIvlIxOfkocUN--

[no cookies]

请求报头:

连接:保持活着

内容类型:多部分/格式的数据;边界= - Uc_2uLvcVgc7SqvzIJxR3encUKw- f7w9

接受编码:gzip,紧缩,BR

接受语言:EN-US,EN; Q = 0。5

接受:应用/ JSON,文本/无格式,/

X - 请求 - OnBehalfOf:一些用户-UUID

X-请求-随着:XMLHttpRequest的

内容 - 长度:820532

主机:本地主机

的User-Agent:Apache的HttpClient的/ 4.5.3(Java/1.8.0_121)

响应数据选项卡为空。

服务器端执行:

@POST 
@Override 
@EnhancedDetail 
@Consumes(MediaType.MULTIPART_FORM_DATA) 
@Path("my/rest/endpoint") 
public Response uploadProduct(@PathParam("id") final String id, MultiPart multipart) throws IOException { 
    return processMultiFileUpload(id, multipart, MultiPartUploadType.DRAFT, false); 
} 

回答

0

我想通了。我将HTTP请求上的客户端实现更改为Java。我读过的所有东西都使用HttpClient4,但是我尝试了Java并且它工作正常。