2016-09-21 7 views
0

私たちは現在、新しく開発されたAPIにアクセスするためにWSO2 APIマネージャ(1.9.0)を使用していますが、これはいくつかの奇妙なSpringブート例外を与えています。リクエストにはファイルのアップロードが含まれ、マルチパート/フォームデータリクエストとして送信されます。 WSO2側では、カスタムHTTPヘッダーを設定するためにメディエーションが適用されます。WSO2 APIマネージャーのメディエーションはマルチパートリクエストを破ることができますか?

org.springframework.web.multipart.MultipartException: Current request is not a multipart request 
     at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.handleMissingValue(RequestParamMethodArgumentResolver.java:188) ~[spring-web-4.3.2.RELEASE.jar!/:4.3.2.RELEASE] 
     at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:104) ~[spring-web-4.3.2.RELEASE.jar!/:4.3.2.RELEASE] 
     at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121) ~[spring-web-4.3.2.RELEASE.jar!/:4.3.2.RELEASE] 
     at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:161) ~[spring-web-4.3.2.RELEASE.jar!/:4.3.2.RELEASE] 
     at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:128) ~[spring-web-4.3.2.RELEASE.jar!/:4.3.2.RELEASE] 
     at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114) ~[spring-webmvc-4.3.2.RELEASE.jar!/:4.3.2.RELEASE] 
     at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) ~[spring-webmvc-4.3.2.RELEASE.jar!/:4.3.2.RELEASE] 
     at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) ~[spring-webmvc-4.3.2.RELEASE.jar!/:4.3.2.RELEASE] 

マルチパートリクエストを乱すことなくメディエーションを使用する方法はありますか?

答えて

0

WSO2のAPIマネージャのデフォルトの動作のように、メディエーション中にContent-TypeヘッダーとContent-Lengthヘッダーを保持しないようです。ただし、passthru-http.propertiesファイルを編集することで、これらのHTTPヘッダーをそのまま維持することができます。 WSO2 AMのインストールフォルダのrepository/confディレクトリにあります。答えは実際にthis postに基づいた

http.headers.preserve=Content-Length,Content-Type

はちょうどこの行を追加します。

関連する問題