webService 客户端是中文传到服务器端变成乱码了,为什么?
我将客户端传到服务器端的数据打印出来是中文,但传到服务器端打印就成了乱码,为什么呢?
服务器端接口是:
public interface AddBookInterfaces {
/**
*添加通讯录接口
*@param BookBean一个实体类
*@return String 返回添加后的语句
*/
public String addBook(List<String> bb);
}
服务器端实现类:
public class AddBookImp extends Log4jClsss implements AddBookInterfaces {
public String addBook(List<String> bb) {
BookDAO addBook = new BookDAO();
int count=addBook.addAddress(bb);// 调用此方法添加通讯录
String error="";
if(count>0){
error="添加通讯录成功";
}else{
error="添加通讯录失败";
}
loggers.debug(error);
return error;
}
}
客户端:
public class AddBookSevices extends Log4jClsss implements HomeInterface {
public String doStart(HttpServletRequest request) {
ArrayList values = new ArrayList();
String name = request.getParameter("name");
values.add(name);
values.add((String)request.getParameter("sex"));
values.add((String)request.getParameter("Phone"));
values.add((String)request.getParameter("address"));
values.add((String)request.getParameter("mobilePhone"));
values.add((String)request.getParameter("company"));
values.add((String)request.getParameter("comPhone"));
values.add((String)request.getParameter("comAddress"));
values.add(Integer.valueOf(request.getParameter("relation")));
values.add(Integer.valueOf(1));
System.out.println("name:"+name);
/*Ipay是服务器端的接口*/
//返回服务的元数据
Service serviceModel=new ObjectServiceFactory().create(AddBookInterfaces.class);
loggers.debug("返回服务模型。");
//创建服务代理
XFire xfire=XFireFactory.newInstance().getXFire();
XFireProxyFactory factory=new XFireProxyFactory(xfire);
//服务的地址
String serviceUrl="http://localhost:8080/addressBook/services/addBook";
AddBookInterfaces client=null;//接口
try {
client=(AddBookInterfaces)factory.create(serviceModel,serviceUrl);//调用工厂实例化接口
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
loggers.debug("客户端调用异常:"+e.toString());
}
//调用服务
String message=null;
try{
message=client.addBook(values);//调用接口的方法
}catch(Exception e){
e.printStackTrace();
}
HashMap map=new HashMap();
map.put("error",message);
request.setAttribute("map", map);
String path="error.jsp";
return path;
}
}