webservice 的wsdl文件字符集编码问题

webservice 的wsdl文件字符集编码问题,第1张

很空帆哗多人在调用WebService所提供方法的时候,发现如果当字符串中含有中斗行文,传到WebService端就发现是乱码,这是由于WebService默认的编码是UTF-8 ,当调用端和接收端用轿搭不同编码进行转换的时候,就会出现此类问题,如何解决这类问题呢

解决这个问题有两种方案:

1. 改变jvm的默辩档磨认字符编码。

2. 修携斗改CxfInboundMessageProcessor类的源代码。

第一种方案通过修改服务器的启动参数,蠢孙追加一段“-Dfile.encoding=UTF-8”,就可以改变服务器的java运行环境。

此时启动服务器时会发现,虽然WSDL中文不再出现乱码了,但是服务器控制台显示的中文 却全都成了乱码 。wsdl 是否出现乱码依赖于运行服务器的默认字符集,对于OECP平台来说是不可控的。OECP平台使用什么样的字符编码应该依赖于应用自己的配置。

修改mule 的源代码,CxfInboundMessageProcessor这个类,在升级的过程中没有改动,不然就要反编译来获取源码了。

将201行的msg = out.toString()修改为如下代码:

java 代码

String enc = event.getMuleContext().getConfiguration().getDefaultEncoding() msg = out.toString(enc)

从mule 的配置中得到配置的编码格式,并在将Stream转换为String的时候指定使用此编码格式.至此问题解决了.


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12216748.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存