WebLogic 10gR3 - UnsupportedEncodingException解析multipart / form-data的Content-Type标头

时间:2012-02-17 17:32:11

标签: java weblogic content-type weblogic-10.x multipartform-data

我的应用程序通过WebLogic 10gR3上的HTTP POST接收多部分内容。每当客户在Content-Type标头(例如charset)上指定其他属性之前的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)

仅供参考,我正在对第100行的getCharacterEncoding()实例进行HttpServletRequest调用。

但是,如果客户端在标题末尾指定了字符集(例如,Content-Type:multipart / form-data; boundary = a_random_boundary; charset = utf-8),则应用程序和WebLogic可以正常运行。

根据RFC2045,参数的顺序并不重要:

  

Content-Type标头字段指定了数据的性质      通过提供媒体类型和子类型标识符来实体的主体      通过提供某些可能需要的辅助信息      媒体类型。媒体类型和子类型名称后,余数      标题字段只是一组参数,在一个中指定      attribute = value表示法。 参数的排序不是      显著

我已经四处搜寻了,我越接近类似的问题就是OTN的以下thread

我假设这是WebLogic中的一个错误,但我认为在联系支持和/或制定解决方法之前,我会寻找一些见解。

感谢您对此问题的任何见解。

0 个答案:

没有答案