http post请求(soap协议)webservice

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.Charset;
public class Test {
public static void translate(String word) throws Exception {
String urlString = "xxxxx.asmx";
String soapActionString = "xxxx";
URL url = new URL(urlString);
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
String soap = "<?xml version="1.0" encoding="utf-8"?>\n" +
"<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance""
+ " xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">\n"
+" <soap:Body>\n" +
// soapAction
" <此处为action名称 xmlns="此处为soapAction路径">\n" +
" <vSearch_word>" + word + "</vSearch_word>\n" +
" <vResult_count>" + 1 + "</vResult_count>\n" +
" </此处为action名称>\n" +
" </soap:Body>\n" +
"</soap:Envelope>";
byte[] buf = soap.getBytes(Charset.forName("UTF-8"));
httpConn.setRequestProperty("Content-Type", "text/xml; charset=UTF-8");
httpConn.setRequestProperty("Content-Length", String.valueOf(buf.length));
httpConn.setRequestProperty("soapActionString", soapActionString);
httpConn.setRequestMethod("POST");
httpConn.setDoOutput(true);
httpConn.setDoInput(true);
OutputStream out = httpConn.getOutputStream();
out.write(buf);
out.close();
if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK)
{
InputStreamReader is = new InputStreamReader(httpConn.getInputStream());
BufferedReader in = new BufferedReader(is);
String inputLine;
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream("zz.xml")));
while ((inputLine = in.readLine()) != null)
{
System.out.println(inputLine);
bw.write(inputLine);
bw.newLine();
}
bw.close();
in.close();
}
else {
InputStream is = httpConn.getErrorStream();
InputStreamReader isr = new InputStreamReader(is, "utf-8");
BufferedReader in = new BufferedReader(isr);
String inputLine;
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream("result.xml")));
while ((inputLine = in.readLine()) != null)
{
System.out.println(inputLine);
bw.write(inputLine);
bw.newLine();
bw.close();
}
in.close();
}
httpConn.disconnect();
}

public static void main(String[] args) throws Exception {
    translate("北京");
}

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 50道经典Java编程练习题,将数学思维运用到编程中来。抱歉哈找不到文章的原贴了,有冒犯的麻烦知会声哈~ 1.指数...
    OSET我要编程阅读 7,303评论 0 9
  • package net; import java.io.BufferedReader; import java.i...
    自由主义者阅读 588评论 0 0
  • I/O的学习之字符流 今天的学习内容 字符流FileReader 字符流FileWriter 字符流的拷贝 带缓冲...
    须臾之北阅读 387评论 0 1
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,575评论 0 4
  • 今天说是去喝喜酒了,可是酒没喝,饮料也没要,丰盛的菜肴也没尝几个,就看着大家津津有味地大吃大喝了,回来没多久就饿了...
    黯黯红尘一路相伴阅读 271评论 0 0

友情链接更多精彩内容