webservice客户端接收为乱码

2399 2011-09-26 03:00:19

<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><UserInfoSyncToISMPResp xmlns="http://www.mbossvsop.com.cn/vsop"><response xmlns="">成功</response></UserInfoSyncToISMPResp></soapenv:Body></soapenv:Envelope>

PS:是在linux环境中,java文件是使用gbk编码,客户端要求返回utf-8编码的信息。
...全文
454 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wmx880126 2011-12-25
  • 打赏
  • 举报
回复
aixs webservice乱码解决了吗?我也遇到同样的问题,期待你分享
2399 2011-10-12
  • 打赏
  • 举报
回复
这个问题csdn伤不起啊
2399 2011-09-26
  • 打赏
  • 举报
回复
这不是UTF-8的原因,发现soap包消息中,那些特殊字符都被转义了,像"<"转义成<等等,中文被转义成16进制,如果不让它转义!
9441 2011-09-26
  • 打赏
  • 举报
回复
项目改成UTF-8编码
2399 2011-09-26
  • 打赏
  • 举报
回复
axis虽然很古老,但是不至于没人知道吧?

String resXml = "";
try{
resXml = userInfoProc.proc(parameters.getRequest());
}catch(BtirException e){
logger.error(e);
}
if(logger.isDebugEnabled()){
logger.debug("[UserSyncToVsopService][res]:"+resXml);
}
VsopServiceResponse res = new VsopServiceResponse();
res.setResponse(resXml);

这是服务端代码,这里resXml都可以得到,不是乱码,也就是我这里服务端发送给客户端的返回信息,axis默认是UTF-8编码,我也木有改编码,怎么得到soap包的时候就是乱码呢?

UserInfoSyncToISMPSV_PortType service = null;
UserInfoSyncToISMPSV_BindingStub binding = null;
UserInfoSyncToISMPSV_ServiceLocator locator = new UserInfoSyncToISMPSV_ServiceLocator();
locator.setUserInfoSyncToISMPSVEndpointAddress("http://localhost:8080/services/UserInfoSyncToISMPSV?wsdl");
try{
binding = (UserInfoSyncToISMPSV_BindingStub) locator.getUserInfoSyncToISMPSV();
}catch(Exception e){
e.printStackTrace();
}

if(null!= binding){
binding.setTimeout(15000);
}

VsopServiceRequest para = new VsopServiceRequest();
para.setRequest(getXML());
VsopServiceResponse res = binding.userInfoSyncToISMPSV(para);
if(null!= res){
System.out.println("res:"+res.getResponse());
}

上面是我测试的代码,得到的res.getResponse()都不是乱码,

2399 2011-09-26
  • 打赏
  • 举报
回复
大哥们,我是服务器端,我接收什么信息的啊?是他们客户端接收我们服务器端返回的信息,我们接收他们客户端的信息木有乱码,并能正确添加到库中。
PS:这个是webservice,用axis1.4懂的说
薇薇 2011-09-26
  • 打赏
  • 举报
回复
问题很明显啊:
当你页面接受request和response对象的时候,你要设置他的setCharEncoding("GBK/UTF-8");
来处理,响应信息里面的编码,然后页面显示出来的数据就正常了
anhy 2011-09-26
  • 打赏
  • 举报
回复
编码解码

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧