我正在尝试发送HTTP发布请求以使用jmeter上传.dat文件
我遇到以下错误
[2019-11-19 10:36:19.587] ERROR org.mule.runtime.core.internal.exception.OnErrorPropagateHandler [[MuleRuntime].cpuLight.01: [*****-sys-1-0-dit].es-oracle-sys-main.CPU_LITE @51efa03c]: event:6c5213c0-0ab8-11ea-afa5-0699867ea6c5
********************************************************************************
Message : MediaType cannot be parsed: application/json;charset=UTF-8;multipart/form-data.
Element : es-******-sys-main/processors/1 @ ****-es-oracle-sys-1-0-dit:es-****-sys.xml:30
Element XML : <apikit:router config-ref="es-oracle-sys-config"></apikit:router>
Error type : MULE:UNKNOWN
FlowStack : at es-****-sys-main(es-oracle-sys-main/processors/1 @ ****-es-oracle-sys-1-0-dit:es-oracle-sys.xml:30) 0 ms
Payload Type : org.mule.runtime.core.internal.streaming.bytes.ManagedCursorStreamProvider
--------------------------------------------------------------------------------
Root Exception stack trace:
javax.activation.MimeTypeParseException: Couldn't find the '=' that separates a parameter name from its value.
at javax.activation.MimeTypeParameterList.parse(MimeTypeParameterList.java:116)
at javax.activation.MimeTypeParameterList.<init>(MimeTypeParameterList.java:67)
at javax.activation.MimeType.parse(MimeType.java:120)
at javax.activation.MimeType.<init>(MimeType.java:63)
at org.mule.runtime.api.metadata.MediaType.parse(MediaType.java:102)
at org.mule.module.apikit.CharsetUtils.getCharset(CharsetUtils.java:207)
at org.mule.module.apikit.api.validation.RequestValidator.getHeaderCharset(RequestValidator.java:149)
at org.mule.module.apikit.api.validation.RequestValidator.getCharset(RequestValidator.java:133)
at org.mule.module.apikit.api.validation.RequestValidator.validate(RequestValidator.java:82)
at org.mule.module.apikit.api.validation.RequestValidator.validate(RequestValidator.java:53)
at org.mule.module.apikit.Router.doRoute(Router.java:147)
at org.mule.module.apikit.Router.processEvent(Router.java:134)
at org.mule.module.apikit.Router.processWithExtension(Router.java:122)
at org.mule.runtime.core.privileged.processor.MessageProcessors.lambda$flatMap$30(MessageProcessors.java:634)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:381)
--------------------------------------------
我可以从邮递员那里得到回复,下面是内容类型
Accept: */*
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
client_id: d5*****************************
client_secret: F1***********************************8
Content-Type: multipart/form-data; boundary=--------------------------694050903567678421441304
dDocTitle: Worker.dat
href: Worker.zip
Postman-Token: 55de1a27-6ec4-4483-b46e-a3e808299166
User-Agent: PostmanRuntime/7.19.0
X-Forwarded-For: 162.44.150.10
X-Forwarded-Port: 443
X-Forwarded-Proto: https
我已经通过了以上所有内容和哑剧类型。我仍然收到500个错误的哑剧类型内部错误
答案 0 :(得分:0)
很可能您没有为文件提供MIME Type:
您可以尝试在其中添加application/octet-stream
MIME类型,看看是否可以解决您的问题
根据您的请求在Postman中可以正常工作,您可以使用JMeter的HTTP(S) Test Script Recorder
记录来自Postman的电话将您的Worker.dat
文件复制到JMeter安装的bin文件夹中(这是必需的,因此JMeter可以解析来自Postman的请求并正确构建HTTP Request采样器,请参见Recording File Uploads with JMeter详细信息)
在邮递员中运行您的请求