小编ptn*_*lsd的帖子

Multipart Config max文件大小在Tomcat 8中不起作用

我有一个消费者multipart/form-data数据的POST API .

@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response postEvent(@HeaderParam("id") String id, 
        @HeaderParam ("schema-version") String schemaVersion,
        byte[] serializedEvents)
Run Code Online (Sandbox Code Playgroud)

我想将最大上传文件大小限制为64 KB.

所以,我做了以下改变 webapps\<appName>\WEB-INF\web.xml

<multipart-config>
  <max-file-size>65536</max-file-size>
  <max-request-size>65536</max-request-size>
  <file-size-threshold>0</file-size-threshold>
</multipart-config>
Run Code Online (Sandbox Code Playgroud)

但它似乎没有奏效.我也试过更改连接器的maxPostSize参数,但是,我知道这只适用于我正在使用body的情况application/x-www-form-urlencoded.

我使用Tomcat 8.0和Jersey作为Rest实现.任何人都可以建议我在哪里出错?

编辑:以下是请求的屏幕截图:

在此输入图像描述

而且,这是以下部分web.xml:

<servlet>
    <servlet-name>jersey-servlet</servlet-name>
    <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    <multipart-config>
        <max-file-size>65536</max-file-size>
        <max-request-size>65536</max-request-size>
        <file-size-threshold>0</file-size-threshold>
    </multipart-config>
</servlet>
Run Code Online (Sandbox Code Playgroud)

java post tomcat mime-types tomcat8

6
推荐指数
0
解决办法
2589
查看次数

使用 Apache CXF 调用 SOAP API 时出现 ClassCastException

我正在使用 Maven、Java 1.6、Apache CXF。在 Apache CXF 的某个类中调用 Soap API 时,我收到一些类转换异常。这是堆栈跟踪。

javax.xml.ws.soap.SOAPFaultException:java.net.URL 无法转换为 java.lang.String
    在org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:157)
    在 com.sun.proxy.$Proxy83.importCapturedData(来源未知)
    在 com.flipkart.dynamics.api.DynamicsClientService.handleDataLoadRequest(DynamicsClientService.java:109)
    在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
    在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    在 java.lang.reflect.Method.invoke(Method.java:597)
    在 com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
    在 com.sun.jersey.server.impl.model.method.dispatch.Abs​​tractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
    在 com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
    在 com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
    在 com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
    在 com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
    在 com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
    在 com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
    在 com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1480)
    在 com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1411)
    在 com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1360)
    在 com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1350)
    在 com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
    在 com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
    在com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
    在 javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    在 com.flipkart.recon.api.filter.ContentTypeFilter.doFilter(ContentTypeFilter.java:73)
    在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    在org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    在org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    在 …

java soap web-services

3
推荐指数
1
解决办法
6251
查看次数

尝试使用Unicode字符集

我必须将输入字符串与一组前缀匹配。匹配应该是最大可能的匹配,因此如果同时存在abcd*abcde*,则abcdef应该匹配abcde*。我正在为此使用特里。问题在于输入中的字符,并且前缀集中的字符可以是任何Unicode字符。因此,我们不可能在一个简单的Trie中拥有子数组(因为数组的大小将非常大,因此效率至少不够高)。使用map而不是array仍然效率低下。我应该如何解决呢?

java regex unicode trie

3
推荐指数
1
解决办法
716
查看次数

标签 统计

java ×3

mime-types ×1

post ×1

regex ×1

soap ×1

tomcat ×1

tomcat8 ×1

trie ×1

unicode ×1

web-services ×1