Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > 可恶的编码方式,可恶的weblogic
【标  题】:可恶的编码方式,可恶的weblogic
【关键字】:weblogic
【来  源】:http://blog.csdn.net/hahawen/archive/2006/12/11/1438805.aspx

可恶的编码方式,可恶的weblogic

Your Ad Here

    到新公司快一个半月了。一直在熟悉业务,唯一作的一个程序就是一个web service的接口,这个接口的工作很简单,就是取数,保存成xml文件,然后返回。结果还被编码问题搞得稀里糊涂,折腾了一个星期才搞好,丢人啊。

    开发环境:windows XP
                       jdk1.4.2
                      eclipse3.2.1 + myeclipse5.0
                      weblogic 8.16sp6
                     oracle9i

    服务器环境:linux
                            jdk1.4.2
                           weblogic 8.16sp6
                           oracle9i

 web service采用weblogic自带web service方式,服务发布通过web-services.xml配置发布,程序代码写完后在本地测试没有问题,java文件的编码格式是gbk。
 发布到服务器上后,问题来了,怎么中文都变成了乱码?第一想法是简单,转码,以前遇到乱码都是通过手工转码来解决的,但是这次不行了,可以想到的转码的方式都试了,还是不行,都要气炸了。最后发现一个怪异的问题:通过jsp页面直接调用java程序,java程序直接打印中文在jsp页面上,显示出来的还是乱码,java文件是gbk编码的,所以java文件本身绝对没有问题,jsp也是gbk的,并且ie浏览器察看jsp页面也是gbk的,看来问题不一定处在程序本身,最后终于发现英文系统,他的默认的java的运行环境是iso8859-1的。但是为什么之前转码一个转不过来呢,估计就是weblogic自己的那个web service 实现对soap消息做了什么处理,所以转码失败,又或者是本人太笨,转码少转了几种情况。
知道了这些就好办了,在网上查了一下文档。有两种处理方式,都可以解决问题:

    1. 在service的服务端,在输出string的时候进行转码:return new String(var.getBytes("gbk"),"iso-8859-1");在client端调用服务的时候也进行转码:String str = new String(myServicePort.sayHello().getBytes("iso-8859-1"),"gbk");
    2. 修改weblogic的启动参数:在startWebLogic.cmd中加入-Dweblogic.webservice.i18n.charset=gbk

终于搞定了,但是为了在不同的环境下都可以保证程序正确运行,推荐用第2种方式。

weblogic虽然是8错,能集成的东西都通吃,但是用起来问题还真多,现在还有好多东西都搞不懂。比如:
1、在weblogic下发布xfire作的web service,xfire通过***?WSDL方式访问服务的描述,这个同weblogic的冲突,疯狂报错。
2、用xmlbeans自带的工具生成xml的java类,在weblogic下调用会报错,用weblogic提供的工具生成就不会报错,太霸道了。
3、xfire和axis的webservice的client端可以通过多种方式相互访问xfire和axis的webservice,但是xfire和axis的webservice的client端只能通过特定的方式访问weblogic提供的webservice。

参考文档:http://coffey321.spaces.live.com/blog/cns!BC193786F4A1BDD1!454.entry(怪异的路径) 

强制类型转换:【上一篇】
对象的引用:【下一篇】
【相关文章】
  • 新手架构师之 Weblogic 当机实例分析
  • weblogic apache 整合 代理
  • Weblogic 9 之旅图文视频 2 - Portal 开发环境设置, 简单的Portal 开发
  • MyEclipse 5.0 + WebLogic 9.2 配置详解
  • MyEclipse + WebLogic 开发 EJB 需注意
  • 菜鸟 Weblogic 9 之旅图文 1 - 下载和安装(Windows版本)
  • weblogic各版本下载地址大全
  • 用 JProfiler4 调优 Weblogic 和 Tomcat 的视频(原创)
  • 运行部署在Weblogic上的Web应用时,过一段时间程序就提示数据连接断了,重起Weblogic就好了。过一段时间又出...
  • weblogic与axis之间向冲突
  • 【随机文章】
  • Dreamweaver 4 简明教程(九、总结)
  • 使用SQL*LOADER装载数据
  • 开放系统实验室(OSL)
  • SIP Servlet 示例之 Call Forward
  • mysql的安装及使用
  • 快速了解IDS和IPS的区别
  • 光纤通信中的全光器件研究
  • 系统引导过程及硬盘分区结构论述[转]
  • 用PHP开发健壮的代码(一):高屋建瓴的介绍
  • C++多态技术
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.