import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL; public class MobileCodeWebService { private static final String charSet = "utf-8"; /**
* 生成发送的XML
* @param mobileCode 手机号码
* @return XML String
*/
private String generateXmlString(String mobileCode){ StringBuilder sb = new StringBuilder();
sb.append("<?xml version=\"1.0\" encoding=\""+charSet+"\"?>");
sb.append("<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/\">");
sb.append("<soap:Body>");
sb.append("<getMobileCodeInfo xmlns=\"http://WebXml.com.cn/\">");
sb.append("<mobileCode>"+mobileCode+"</mobileCode>");
sb.append("<userID></userID>");
sb.append("</getMobileCodeInfo>");
sb.append("</soap:Body>");
sb.append("</soap:Envelope>"); return sb.toString();
} /**
* 请求WebService并获得返回数据
*/
public String rquestWS(String mobileCode){
//访问地址
String postUrl = "http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?op=getMobileCodeInfo";
String contentType = "text/xml; charset="+charSet; PrintWriter printWriter = null;
BufferedReader reader = null;
String result = "";
try { String requestXml = this.generateXmlString(mobileCode);
byte[] requestByte = requestXml.getBytes(); HttpURLConnection conn = (HttpURLConnection)new URL(postUrl).openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", contentType);
conn.setRequestProperty("Content-Length", requestByte.length+"");
conn.setRequestProperty("user-agent", "Mozilla/5.0");
conn.setReadTimeout(5000); //超时时间 conn.setUseCaches(false);
conn.setDoOutput(true);
conn.setDoInput(true); printWriter = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(), charSet));
printWriter.print(requestXml);
printWriter.flush(); reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while(reader.ready()){
result += reader.readLine();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally{ try {
if(reader != null){
reader.close();
}
if(printWriter != null){
printWriter.close();
}
} catch (IOException e) {
e.printStackTrace();
} } return result;
} public static void main(String[] args) { MobileCodeWebService service = new MobileCodeWebService();
System.out.println(service.rquestWS("手机号码")); }
}

最新文章

  1. RealTimePerformanceDemoView
  2. Altium Designer 15 --- PCB 3D View
  3. A-B 练习【大数减法举例】
  4. Sql Server2005恢复备份数据库问题-Error:3154 3219
  5. 在微信中实现app软件中账号注册的功能实现
  6. UIPickerView详解
  7. samba服务设置,Linux系统和Windows文件共享
  8. MVC , MVP , MVVM【转 阮一峰的网络日志】
  9. Centos下安装FTP并进行虚拟用户访问方式配置
  10. 关于——GCD
  11. 使用skin++进行MFC界面美化范例
  12. tomcat的webapps文件夹下放更新后的项目就訪问不了
  13. 【MySQL】查询优化实例解析-延迟关联优化
  14. luci编译错误
  15. iOS 之 内存检查instrument
  16. makefile介绍1.0
  17. mysql之数据操作
  18. Zookeeper增删改查
  19. PHP 3种方法实现采集网站数据
  20. pandas 拆分groupby 应用某个函数apply 和聚合结果aggregate

热门文章

  1. Wepy框架和mpVue框架的比较及使用mpVue框架需要注意的点
  2. c++ (翁恺浙大公开课)前言、目录
  3. java并发:interrupt进程终止
  4. 、第1节 kafka消息队列:8、9、kafka的配置文件server.properties的说明
  5. 十三、$.ajax、模态/非模态框、window.open()、href属性、submit()等提交请求优劣及问题解决方法
  6. Java的clone方法效率问题
  7. PCIE_DMA:xapp1052学习笔记
  8. java学习-抽象类和接口-抽象类初体验
  9. PHP+MySQL实现在线测试答题实例
  10. BVS安全检测之检查Linux是否口令生存周期