apache / apache/servicecomb-java-chassis
o.a.s.common.rest.codec.RestCodec的解析请求参数异常的错误信息不合理
- Langage dominant
- Java
- Étoiles
- 1.9k
- Forks
- 814
- Merge moyen
- 8 j 23 h
- PR mergées (30 j)
- 1
Description
15:15:01 ERROR [group0-1-thread-1] o.a.s.common.rest.codec.RestCodec 73 -> Parameter is not valid for operation [bids_service.bidsImportRestService.importRestBIDS]. Parameter is [packageFile]. Processor is [formData].
java.lang.IllegalStateException: getReader() has already been called for this request
at org.apache.catalina.connector.Request.getInputStream(Request.java:1053)
at org.apache.tomcat.util.http.fileupload.servlet.ServletRequestContext.getInputStream(ServletRequestContext.java:102)
at org.apache.tomcat.util.http.fileupload.impl.FileItemIteratorImpl.init(FileItemIteratorImpl.java:178)
at org.apache.tomcat.util.http.fileupload.impl.FileItemIteratorImpl.getMultiPartStream(FileItemIteratorImpl.java:205)
at org.apache.tomcat.util.http.fileupload.impl.FileItemIteratorImpl.findNextItem(FileItemIteratorImpl.java:224)
at org.apache.tomcat.util.http.fileupload.impl.FileItemIteratorImpl.(FileItemIteratorImpl.java:142)
at org.apache.tomcat.util.http.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:277)
at org.apache.tomcat.util.http.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:301)
at org.apache.catalina.connector.Request.parseParts(Request.java:2849)
at org.apache.catalina.connector.Request.getParts(Request.java:2750)
at org.apache.catalina.connector.Request.getPart(Request.java:2916)
at org.apache.catalina.connector.RequestFacade.getPart(RequestFacade.java:803)
at javax.servlet.http.HttpServletRequestWrapper.getPart(HttpServletRequestWrapper.java:339)
at javax.servlet.http.HttpServletRequestWrapper.getPart(HttpServletRequestWrapper.java:339)
at org.apache.servicecomb.common.rest.codec.param.FormProcessorCreator$PartProcessor.getValue(FormProcessorCreator.java:185)
at org.apache.servicecomb.common.rest.codec.RestCodec.restToArgs(RestCodec.java:63)
at org.apache.servicecomb.common.rest.filter.inner.ServerRestArgsFilter.afterReceiveRequest(ServerRestArgsFilter.java:62)
at org.apache.servicecomb.common.rest.AbstractRestInvocation.prepareInvoke(AbstractRestInvocation.java:239)
at org.apache.servicecomb.common.rest.AbstractRestInvocation.invoke(AbstractRestInvocation.java:216)
at org.apache.servicecomb.common.rest.AbstractRestInvocation.runOnExecutor(AbstractRestInvocation.java:206)
at org.apache.servicecomb.common.rest.AbstractRestInvocation.lambda$scheduleInvocation$0(AbstractRestInvocation.java:162)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par RestCodec.restToArgs dans RestCodec.java et suivez le traitement des paramètres jusqu’à FormProcessorCreator$PartProcessor.getValue, comme indiqué dans la stack trace. Examinez comment l’exception d’analyse de la requête devient l’erreur consignée et identifiez les tests pertinents ou le chemin de gestion des erreurs. Le travail est considéré comme terminé lorsque l’erreur signalée décrit clairement l’échec du paramètre de la requête.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- api, backend
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 35/100