在一个项目中,要用java访问.net写的web service。有一个功能是修改用户资料,这就涉及到数据的提交处理。
遇到提交数据时中文乱码问题。原先代码如下的:
String SOAPUrl= BaseUrl.baseUrl+"ProfileService.asmx?op=GetMemberInfoByCardNo";
String SOAPAction = "...................................................";
String xml="............."这里省略生成的xml字符串;
System.out.println(xml);
URL url = new URL(SOAPUrl);
URLConnection connection = url.openConnection();
HttpURLConnection httpConn = (HttpURLConnection) connection;
// Set the appropriate HTTP parameters.
httpConn.setRequestProperty( "Content-Length",String.valueOf( xml.length()));
httpConn.setRequestProperty("Content-Type","text/xml; charset=utf-8");
httpConn.setRequestProperty("SOAPAction",SOAPAction);
httpConn.setRequestMethod( "POST" );
httpConn.setDoOutput(true);
httpConn.setDoInput(true);
// Everything's set up; send the XML that was read in to b.
OutputStream out = httpConn.getOutputStream();
PrintWriter writer=new PrintWriter(out);
osw.write(xml);
osw.flush();
修改一下代码,如下:
String SOAPUrl= BaseUrl.baseUrl+"/ProfileService.asmx?op=GetMemberInfoByCardNo";
String SOAPAction = "...................................................";
String xml=".......................";这里省略生成的xml字符串
System.out.println(xml);
URL url = new URL(SOAPUrl);
URLConnection connection = url.openConnection();
HttpURLConnection httpConn = (HttpURLConnection) connection;
// Set the appropriate HTTP parameters.
httpConn.setRequestProperty( "Content-Length",String.valueOf( xml.length()));
httpConn.setRequestProperty("Content-Type","text/xml; charset=utf-8");
httpConn.setRequestProperty("SOAPAction",SOAPAction);
httpConn.setRequestMethod( "POST" );
httpConn.setDoOutput(true);
httpConn.setDoInput(true);
// Everything's set up; send the XML that was read in to b.
OutputStream out = httpConn.getOutputStream();
OutputStreamWriter osw=new OutputStreamWriter(out,"utf-8");
//PrintWriter writer=new PrintWriter(out);
osw.write(xml);
osw.flush();
注意红色粗体部份。将原先的PrintWriter换成OutputStreamWriter,并在构造OutputStreamWriter实例时,用上"utf-8"编码(我的项目中是用utf-8)
分享到:
相关推荐
1,利用java调用soap接口获取天气的信息;2,利用java调用soap一个特定的案例,可按自己的要求修改。
Java使用SOAP获取webservice实例解析 具体实例分析说明。
JAVA SOAP技术
.NET 访问JAVA的WEBSERVICE使用SOAP头
webservice-java_soap.pdf,webservice-java_soap.pdf
java项目简单模拟soap型的webservice远程调用服务,内附使用说明文档方便学习和查阅,让你轻松学会soap-webservice的使用方法!
本文的预定作者应该对SOAP1.1的基本规范有所了解,并熟悉了j2ee的基本开发,如果不熟悉的话,可以看一下我的Blog:使用SOAP开发java web服务--Axis开发方案 ,详细标准可以查看w3c的官方网站,连接如下:...
JAVA SOAP 用到的所有jar文件 axis.jar axis-ant.jar commons-discovery-0.2.jar jaxrpc.jar axis-schema.jar wsdl4j-1.5.1.jar saaj.jar xmlsec-1.3.0.jar
为了解决程序的掩护问题,这篇文章将介绍如何使用 JAVA 输出 SOAP 报文,以便于开发者更方便地使用 SOAP 协议。 SOAP 协议简介 SOAP(Simple Object Access Protocol)是一种基于 XML 的轻量级协议,用于交换结构...
java SOAP
用Java实现基于SOAP的XML文档网络传输及远程过程调用(RPC).
java_soap学习资料,包括了java调用webservive常用方法。欢迎下载
通过webservice提交xml数据以及soap协议的使用
JAVA输出SOAP报文详解 SOAP(Simple Object Access Protocol)是一种基于XML的协议,用于在不同的操作系统和编程语言之间交换结构化信息。SOAP报文是SOAP协议的核心组件,是一种轻量级的、基于XML的协议,可以在...
JAVA 调用SAP SOAP webservice需要注意的一些坑,请务必按步骤一步步来。
java实现的soap
java 调用soap 怎么实现调用soap 服务接口
soapUI输入中文显示为乱码 响应报文中文乱码问题解决方法
VB.NET(2010)/JAVA 采用SOAP 与Webservice发送/接收数据