`
hite
  • 浏览: 51781 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

[待解决]BEA/Weblogic: Exceeded stated content-length

阅读更多

同样的代码

URL url = new URL("http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl");
            URLConnection conn = url.openConnection();
            conn.setUseCaches(false);
            conn.setDoInput(true);
           conn.setDoOutput(true);
            conn.setRequestProperty("Content-Length", Integer.toString(soap.length()));
            conn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
            conn.setRequestProperty("SOAPAction", "http://WebXml.com.cn/getWeatherbyCityName");
 


在tomcat下好使,但是在WebLogic下就挂了,报错。

[code="java"]java.net.ProtocolException: Exceeding stated content length of 358
        at weblogic.net.http.ContentLengthOutputStream.write(ContentLengthOutputStream.java:39)
        at sun.nio.cs.StreamEncoder$CharsetSE.writeBytes(StreamEncoder.java:336)
        at sun.nio.cs.StreamEncoder$CharsetSE.implFlushBuffer(StreamEncoder.java:404)
        at sun.nio.cs.StreamEncoder$CharsetSE.implFlush(StreamEncoder.java:408)
        at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:152)
        at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:213)
 

出错的语句是:

[code="java"] OutputStreamWriter osw = new OutputStreamWriter(os, "utf-8");
osw.write(soap);
osw.flush();
 


其中的358其实是

Integer.toString(soap.length())

 

这里有个帖子说到了解决方式

java.net.ProtocolException : Weblogic


里面提到不能设置长度,删除这句

conn.setRequestProperty("Content-Length", Integer.toString(soap.length()));

conn.setRequestProperty("Content-Length", Integer.toString(soap.length()));
 

但是为什么不能设呢,设的长度确实是soap的长度啊?
在soap里有汉字但是java和JavaScript对汉字都是1个,怎么会超长呢?
待研究下

 

PS:不知道WebLogic的get方式汉字编码是什么?tomcat不是iso-8859-1吗?

分享到:
评论
3 楼 laodaobazi 2012-08-17  
content-length这个是所传报文的byte类型的长度,而并非string字符串的长度,tomcat的编码格式iso-8859-1 ,而weblogic是GBK(或UTF-8)
这样就导致了超长。
2 楼 liuyuhua0066 2012-03-29  
WebLogic 是GBK
1 楼 heyiwen871220 2011-10-18  
前两天也出现这问题了,最后发现content-length这个是所传报文的byte类型的长度,而并非string字符串的长度,如果内容中有中文,就不对了,调用getBytes方法可解决

相关推荐

    p32403651_1036_Generic.zip

    Oracle WebLogic Server 10.3.6 2021年5月发布的累积更新补丁包 p32403651_1036_Generic主要修复各种Bug和安全漏洞等问题 安装此补丁之前需卸载补丁KYRS和NA7A,命令可按照实际情况或安装目录进行修改,示例: /bea/...

    weblogic10.3.6补丁(java反序列化漏洞更新步骤).docx

    WebLogic 10.3.6 补丁(Java 反序列化漏洞更新步骤) WebLogic 10.3.6 补丁是一种安全补丁,旨在修复 Java 反序列化漏洞,该漏洞可能会导致 WebLogic 服务器遭受远程攻击。下面是 WebLogic 10.3.6 补丁的更新步骤:...

    linux 下weblogic安装文档

    - 在安装完成后,进入到WebLogic安装目录下的`/home/bea/weblogic81/common/bin`,执行配置脚本: - `# ./config.sh` - 按照提示选择创建一个新的WebLogic Domain。 通过以上步骤,可以在Linux环境下成功安装并...

    WebLogic创建根上下文

    ### WebLogic创建根上下文知识点解析 #### 一、WebLogic服务器简介 WebLogic Server是Oracle公司提供的一个应用服务器,主要用于构建和部署企业级应用程序。它支持Java EE标准,并提供了高性能、高可用性和可伸缩性...

    WebLogic 9.0 Command Reference

    《WebLogic Server Command Reference》是针对BEA Systems, Inc.发布的WebLogic Server 9.0版本的官方命令手册。本书详细介绍了如何通过命令行方式管理和操作WebLogic Server,旨在帮助系统管理员、开发者以及任何与...

    Linux安装Weblogic

    在Linux操作系统中安装Weblogic是一项常见的任务,尤其对于那些依赖Oracle Weblogic Server作为应用程序服务器的组织来说。Weblogic Server是一款企业级的Java EE应用服务器,它提供了管理和部署企业级应用程序的...

    Linux下命令行安装运行weblogic10.3.6.docx

    ### Linux下命令行安装运行WebLogic 10.3.6 的详细步骤及知识点 #### 一、基础知识介绍 **WebLogic Server** 是一款由Oracle公司提供的应用服务器,主要用于部署和运行基于Java的企业级应用程序。它支持多种协议,...

    p29814665_122130_Generic.zip

    27010571: <BEA-000503> 26075541: .APPMERGEGEN_$DIGIT DIR REMAIN EVERY TIME BY DEPLOYING A EAR ON WLS 12.2.1 27823500: REGRESSION BUG WHICH INTRODUCED BY THE BUG FIXING OF 27678101 27248932: ...

    qname.jar 包

    DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd"> <weblogic-web-app> <container-descriptor> <prefer...

    ESB比较 adfasdfasf

    - BEA AquaLogic: 4分 - Mule: 5分 - Apache ServiceMix: 2分 - IBM Websphere ESB: 3分 2. **ESB业务流程控制、变更管理、治理和生命周期特性**: - BEA AquaLogic: 5分 - Mule: 4分 - Apache ServiceMix: ...

    tomcat工程迁移至weblogic文档

    ### Tomcat工程迁移至WebLogic的关键步骤与注意事项 在企业级应用开发中,根据业务需求和技术选型的变化,有时需要将部署在Tomcat上的应用程序迁移到WebLogic服务器上。这一过程涉及多方面的调整与优化,确保应用能...

    webloc8安装说明(有图片)

    #cd /opt/weblogic/bea/weblogic81/common/bin #sh config.sh ``` - 创建WebLogic配置文件。 - 选择配置文件模板:Base WebLogic Server Domain。 - 使用默认配置。 - 创建管理用户:用户名`weblogic`,密码`...

    Weblogic10.3.0 for Linux安装手册

    - **创建安装目录**:创建`/weblogic`目录用于存放Weblogic的安装文件,并通过`chown -R weblogic:staff /weblogic`和`chmod -R 755 /weblogic`命令设置权限,确保weblogic用户对该目录有读写执行权限。 ##### 2. ...

    CentOS 6.3安装配置Weblogic-10方法

    安装位置:/usr/local/weblogic/ 下载地址:http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html 安装准备 代码如下: #创建weblogic用户组。 [root@admin /]# groupadd ...

    weblogic在linux下的安装

    - 按照提示选择安装目录,这里选择`/oracle/weblogic`作为BEA主目录。 - 安装过程中会显示多个选项界面,请根据实际需要进行选择,通常情况下直接点击“下一步”即可。 #### 三、新建Domain 安装完成后,我们需要...

    SDK_SetUp_ReaderMe.txt

    - **步骤**: 进入 `/bea/weblogic91/common/bin` 并运行配置工具。 - **命令**: ```sh cd /bea/weblogic91/common/bin ./config ``` - **配置信息**: 按照提示配置 Domain 的相关信息。 **4.3 启动 WebLogic ...

    CentOS 6.3安装配置Weblogic 10

    按照屏幕提示,接受许可协议,选择BEA主目录(这里是`/usr/local/weblogic/`),然后选择安装类型和产品目录。最后,创建一个新的WebLogic域。 安装完成后,需要使用WebLogic用户登录系统,执行以下命令: ```bash...

    weblogic10.3.0 for AIX安装手册

    - **选择安装路径**:默认安装路径为`/weblogic/bea`。 - **选择安装类型**:选择自定义模式安装(`2`),不安装Workshop(`2`)。 - **确认安装目录**:选择默认的WebLogic Server安装目录。 - **确认安装**:按照提示...

Global site tag (gtag.js) - Google Analytics