Java Post 请求Webservice 返回XML
来源:互联网 发布:网络上传速度慢怎么办 编辑:程序博客网 时间:2024/05/22 05:18
package legacy.servlet;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.StringReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.jdom.input.SAXBuilder;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.Namespace;
import org.jdom.input.SAXBuilder;
import org.xml.sax.InputSource;
public class PostTest {
public static void testPost() throws IOException {
URL url = new URL("http://w3.ospf.cn.ibm.com:10000/PACServiceWeb/services/QuarterlyRevalidationService");
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type", "text/xml");
connection.setRequestProperty("SOAPAction", "getReportsBriefInfo");
connection.setRequestProperty("Accept-Encoding", "gzip,deflate");
connection.setRequestProperty("Host", " w3.ospf.cn.ibm.com:10000");
connection.setRequestProperty("Content-Length", "242");
OutputStreamWriter out = new OutputStreamWriter(connection
.getOutputStream(), "UTF-8");
StringBuffer sb = new StringBuffer();
sb.append("<soapenv:Envelope xmlns:soapenv="+" 'http://schemas.xmlsoap.org/soap/envelope/' "+
" xmlns:impl="+" 'http://impl.service.pac.cdl.ibm.com ' >");
sb.append("<soapenv:Header/>");
sb.append("<soapenv:Body>");
sb.append(" <impl:getReportsBriefInfo/>");
sb.append("</soapenv:Body>");
sb.append("</soapenv:Envelope>");
out.write(sb.toString());
out.flush();
out.close();
//response
String sCurrentLine;
String sTotalString;
sCurrentLine = "";
sTotalString = "";
InputStream l_urlStream;
l_urlStream = connection.getInputStream();
BufferedReader l_reader = new BufferedReader(new InputStreamReader(
l_urlStream));
while ((sCurrentLine = l_reader.readLine()) != null) {
sTotalString += sCurrentLine + "\r\n";
//parseXML
}
System.out.println(sTotalString);
StringReader read = new StringReader(sTotalString);
InputSource source = new InputSource(read);
SAXBuilder saxb= new SAXBuilder();
Document doc;
try {
doc = (Document) saxb.build(source);
Element root = doc.getRootElement();
// System.out.println(root.getName());//输出根元素的名称(测试)
//得到根元素所有子元素的集合
List Root_child = root.getChildren();
Element et = null;
et = (Element) Root_child.get(1);//getbody
List Body_child = et.getChildren();//body childList
et = (Element) Body_child.get(0);//getReportsBriefInfoResponse
List GetReportsBriefInfoResponse_child = et.getChildren();
et = (Element) GetReportsBriefInfoResponse_child.get(0);//getReportsBriefInfoReturn
List ReportVBeanlList = et.getChildren();//reportVBean List
et = (Element) ReportVBeanlList.get(0);//get the element of ReportVBean
for(int j = 0;j<ReportVBeanlList.size();j++){
et = (Element) ReportVBeanlList.get(j);
List ReportVBean_child = et.getChildren();
System.out.println(et);
System.out.println("dueDateForMgr: "+((Element) ReportVBean_child.get(0)).getText());
System.out.println( "reportDate: "+((Element) ReportVBean_child.get(1)).getText());
}
} catch (JDOMException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) throws IOException {
testPost();
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.StringReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.jdom.input.SAXBuilder;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.Namespace;
import org.jdom.input.SAXBuilder;
import org.xml.sax.InputSource;
public class PostTest {
public static void testPost() throws IOException {
URL url = new URL("http://w3.ospf.cn.ibm.com:10000/PACServiceWeb/services/QuarterlyRevalidationService");
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type", "text/xml");
connection.setRequestProperty("SOAPAction", "getReportsBriefInfo");
connection.setRequestProperty("Accept-Encoding", "gzip,deflate");
connection.setRequestProperty("Host", " w3.ospf.cn.ibm.com:10000");
connection.setRequestProperty("Content-Length", "242");
OutputStreamWriter out = new OutputStreamWriter(connection
.getOutputStream(), "UTF-8");
StringBuffer sb = new StringBuffer();
sb.append("<soapenv:Envelope xmlns:soapenv="+" 'http://schemas.xmlsoap.org/soap/envelope/' "+
" xmlns:impl="+" 'http://impl.service.pac.cdl.ibm.com ' >");
sb.append("<soapenv:Header/>");
sb.append("<soapenv:Body>");
sb.append(" <impl:getReportsBriefInfo/>");
sb.append("</soapenv:Body>");
sb.append("</soapenv:Envelope>");
out.write(sb.toString());
out.flush();
out.close();
//response
String sCurrentLine;
String sTotalString;
sCurrentLine = "";
sTotalString = "";
InputStream l_urlStream;
l_urlStream = connection.getInputStream();
BufferedReader l_reader = new BufferedReader(new InputStreamReader(
l_urlStream));
while ((sCurrentLine = l_reader.readLine()) != null) {
sTotalString += sCurrentLine + "\r\n";
//parseXML
}
System.out.println(sTotalString);
StringReader read = new StringReader(sTotalString);
InputSource source = new InputSource(read);
SAXBuilder saxb= new SAXBuilder();
Document doc;
try {
doc = (Document) saxb.build(source);
Element root = doc.getRootElement();
// System.out.println(root.getName());//输出根元素的名称(测试)
//得到根元素所有子元素的集合
List Root_child = root.getChildren();
Element et = null;
et = (Element) Root_child.get(1);//getbody
List Body_child = et.getChildren();//body childList
et = (Element) Body_child.get(0);//getReportsBriefInfoResponse
List GetReportsBriefInfoResponse_child = et.getChildren();
et = (Element) GetReportsBriefInfoResponse_child.get(0);//getReportsBriefInfoReturn
List ReportVBeanlList = et.getChildren();//reportVBean List
et = (Element) ReportVBeanlList.get(0);//get the element of ReportVBean
for(int j = 0;j<ReportVBeanlList.size();j++){
et = (Element) ReportVBeanlList.get(j);
List ReportVBean_child = et.getChildren();
System.out.println(et);
System.out.println("dueDateForMgr: "+((Element) ReportVBean_child.get(0)).getText());
System.out.println( "reportDate: "+((Element) ReportVBean_child.get(1)).getText());
}
} catch (JDOMException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) throws IOException {
testPost();
}
}
- Java Post 请求Webservice 返回XML
- java使用POST发送soap报文请求webservice返回500错误解析
- java调用webservice天气预报(SOAP请求的方式获取天气信息并解析返回的XML)
- java调用webservice天气预报(SOAP请求的方式获取天气信息并解析返回的XML)
- java调用webservice天气预报(SOAP请求的方式获取天气信息并解析返回的XML)
- java发送post请求并接收返回
- java GET和POST请求返回数据
- WebService get post请求
- java访问WebService接口返回xml
- Java访问WebService返回xml数据
- java发送xml post请求(2)
- 基于java 使用http-post方式请求https webservice接口
- webservice 返回自定义xml
- xfire webservice返回xml
- WEB POST请求XML
- webservice java模拟请求返回中文乱码解决
- .net 从WebService的restful api接口以POST方式请求并获取返回值
- java 通过发送json,post请求,返回json数据
- mysql_real_connect()数据库连接出错
- JavaScript时间格式
- javascript Date format(js日期格式化)
- ODE 3D图形的简单绘制
- Android媒体播放---Media playback(三)
- Java Post 请求Webservice 返回XML
- javaweb中中文乱码问题
- javascript Date format(js日期格式化)
- javascript Date format(js日期格式化)
- Java泛型数组列表
- 德布鲁因序列
- Android启动后遇到错误
- 【cocos2d-x】 给大家分析 现在流行的手机游戏是用什么开发的(含方法)
- gen_tcp:send的深度解刨和使用指南(初稿)