我的应用程序在 WebLogic 10gR3 上通过 HTTP POST 接收多部分内容。每当客户指定charset
属性beforeContent-Type 标头上的其他属性(例如Content-Type: multipart/form-data; charset=utf-8; boundary=a_random_boundary
),WebLogic 抛出以下异常(在我的托管服务器的日志中捕获):
不支持的编码:指定“utf-8;boundary=a_random_boundary”。
java.io.UnsupportedEncodingException:不支持的编码 utf-8;边界=a_random_boundary
在 weblogic.servlet.internal.ServletRequestImpl.setCharacterEncoding(ServletRequestImpl.java:428)
在 weblogic.servlet.internal.ServletRequestImpl.initRequestEncoding(ServletRequestImpl.java:1115)
在 weblogic.servlet.internal.ServletRequestImpl.getCharacterEncoding(ServletRequestImpl.java:451)
在 javax.servlet.ServletRequestWrapper.getCharacterEncoding(ServletRequestWrapper.java:115)
在 com.MyClass.myMethod(MyClass.java:100)
仅供参考,我正在做一个getCharacterEncoding()
打电话给HttpServletRequest
第 100 行的实例。
但是,如果客户端在标头末尾指定字符集(例如 Content-Type:multipart/form-data;boundary=a_random_boundary;charset=utf-8),则应用程序和 WebLogic 可以正常执行。
根据RFC2045 http://www.ietf.org/rfc/rfc2045.txt,参数的顺序并不重要:
Content-Type 头字段指定了数据的性质
通过给出媒体类型和子类型标识符来识别实体的主体,以及
通过提供某些可能需要的辅助信息
媒体类型。在媒体类型和子类型名称之后,其余部分
标头字段只是一组参数,在
属性=值符号。参数的顺序不是
重要的.
我四处搜寻,越接近类似的问题,如下thread https://forums.oracle.com/forums/thread.jspa?threadID=863225 at OTN.
我假设这是 WebLogic 中的一个错误,但我想在联系支持和/或制定解决方法之前我应该寻求一些见解。
感谢您对这个问题的任何见解。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)