我有一个消费者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) 我正在使用 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.AbstractResourceMethodDispatchProvider$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)
在 … 我必须将输入字符串与一组前缀匹配。匹配应该是最大可能的匹配,因此如果同时存在abcd*和abcde*,则abcdef应该匹配abcde*。我正在为此使用特里。问题在于输入中的字符,并且前缀集中的字符可以是任何Unicode字符。因此,我们不可能在一个简单的Trie中拥有子数组(因为数组的大小将非常大,因此效率至少不够高)。使用map而不是array仍然效率低下。我应该如何解决呢?
java ×3
mime-types ×1
post ×1
regex ×1
soap ×1
tomcat ×1
tomcat8 ×1
trie ×1
unicode ×1
web-services ×1