java中怎样在webservice中输出一个XML格式个文件
发布网友
发布时间:2022-05-16 01:51
我来回答
共3个回答
热心网友
时间:2023-08-06 16:12
/***
* 概述:纯java方式访问远程WebService接口返回的xml格式的数据保存在本地
*/
public class DomXMLString{
private static String SERVICES_HOST = "www.webxml.com.cn";
//远程WebService接口url
private static String NETDATA_URL = "http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx/getRegionProvince";
//访问远程WebService接口返回的xml格式的数据保存在本地的绝对路径
private static String LOCAL_PC_SAVEFILE_URL = "E:dataTest/netDataToLocalFile.xml";
private DomXMLString(){}
public static void main(String[] args) throws Exception{
Document document = getProvinceCode(NETDATA_URL);
helloOK(document, LOCAL_PC_SAVEFILE_URL);
}
/*返回一个Document对象*/
public static Document getProvinceCode(String netXMLDataURL){
Document document = null;
DocumentBuilderFactory documentBF = DocumentBuilderFactory.newInstance();
documentBF.setNamespaceAware(true);
try{
DocumentBuilder documentB = documentBF.newDocumentBuilder();
InputStream inputStream = getSoapInputStream(netXMLDataURL); //具体webService相关
document = documentB.parse(inputStream);
inputStream.close();
}catch(DOMException e){
e.printStackTrace();
return null;
}catch(ParserConfigurationException e){
e.printStackTrace();
return null;
}catch (SAXException e){
e.printStackTrace();
return null;
}catch(IOException e){
e.printStackTrace();
return null;
}
return document;
}
/*返回InputStream对象*/
public static InputStream getSoapInputStream(String url){
InputStream inputStream = null;
try{
URL urlObj = new URL(url);
URLConnection urlConn = urlObj.openConnection();
urlConn.setRequestProperty("Host", SERVICES_HOST); //具体webService相关
urlConn.connect();
inputStream = urlConn.getInputStream();
}catch(MalformedURLException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
return inputStream;
}
/*访问远程(WebService)xml数据后返回的xml格式字符串并生成为本地文件*/
public static void helloOK(Document document, String savaFileURL){
TransformerFactory transF = TransformerFactory.newInstance();
try{
Transformer transformer = transF.newTransformer();
DOMSource source = new DOMSource(document);
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
transformer.setOutputProperty(OutputKeys.INDENT, "YES");
PrintWriter pw = new PrintWriter(new FileOutputStream(savaFileURL));
StreamResult result = new StreamResult(pw);
transformer.transform(source, result);
System.out.println("生成xml文件成功!");
}catch(TransformerConfigurationException e){
System.out.println(e.getMessage());
}catch(IllegalArgumentException e){
System.out.println(e.getMessage());
}catch(FileNotFoundException e){
System.out.println(e.getMessage());
}catch(TransformerException e){
System.out.println(e.getMessage());
}
}
}
热心网友
时间:2023-08-06 16:13
webservice 返回的就是字符串,当然可以拼成xml。
不过数据量多,拼个xml返回来,效率低
倒不如服务器处理完成,传到客户端。
服务器处理很快的,但是网速很慢。
而且作为webservice,也不知道客户端是什么,
万一是个手机呢,处理那么大的数据多慢。
热心网友
时间:2023-08-06 16:13
如果是数据库是db2,支持xml存取啊 oracle 可以用clob字段
java中怎样在webservice中输出一个XML格式个文件
private static String NETDATA_URL = "http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx/getRegionProvince";//访问远程WebService接口返回的xml格式的数据保存在本地的绝对路径 private static String LOCAL_PC_SAVEFILE_URL = "E:dataTest/netDataToLocalFile.xml";private DomXMLString()...
如何让webservice返回xml
用StringBuffer,具体可以这样做:public class ZTservice { public StringGetXmlDataByCity(String city){ StringBuffer strBuffer = new StringBuffer();//此处为业务逻辑处理,省略 strBuffer.append("xxxxxx")最后返回的格式可以如下 <returnResult> <errCode></errCode> <errMsg></errMsg> </retur...
怎样在java 中调用web service 传入参数返回xml?
// 调用java(xfire) 发布的webService // 传入的参数必须与调用方法的参数数量相等,且按传入值的顺序进行匹配 // var para = "<name></name>wqj"; 这里应该是一个标准的xml形式,源码贴出来时被虑掉了,请参看附件源码 var op = { data:para,onComplete: showResponse,onFailure:showError...
JAVA利用Webservice从对方提供的接口获取XML格式的数据
//dom4j解析XML SAXReader saxReader = new SAXReader();Document doc = saxReader.read(new File("student2.xml"));Element root = doc.getRootElement();List childList = root.elements();List childList2 = root.elements("hello");Element first = root.element("hello");System.out.println...
如何从webservice读取xml到本地, 就是可以通过IP地址可以访问到一个xml...
如果你是做JAVA的,那要看你用什么框架了,有xfire和axis。不管用什么框架,首先都要在web.xml做一些配置。还要导入架包,axis还要导入部署文件deploy.wsdd。 在这文件里指定后台哪个类的方法调用和调用远程上哪个方法 。。。不是一两句话就能说得清楚的啦 ...
如何调用webservice xml文件
构建XML文档对象 在解析XML文档前,需要构建要解析的XML文件所对应的XML文档对象。在获取XML文档对象时,首先需要创建SAXReader对象,然后调用该对象的read()方法获取对应的XML文档对象,然后调用XML文档对象里的实例变量(就是XML里面的数据.
怎么解析通过WebService传递的XML格式的字符串
如果你的后台程序使用的是Java,可以使用专用的xml解析工具,Dom4j。无论是生成还是解析都非常好用。使用的方法网上很多,通常都是根据发送过来的xml格式,预先写成方法。需要使用的时候,直接后台调用就可以了。比较简单。上面是我在一个项目中使用的案例,解析如下的xml模板:当然具体问题具体分析。
c#调用java webservice怎么返回xml
这要取决于这个webservice返回的数据类型吧,如果是单纯的string数据,你们将接收到数据写入一个空的xml中,如果webservice本身返回回来的就是xml格式,你可以这么接收 XmlDocument xml = newXmlDocument();xml.LoadXml(XmlNode.OuterXml) //XmlNode---为webservice返回xml的函数 ...
java怎么调用xml的webservice服务
1,直接AXIS调用远程的web service 这种方法比较适合那些高手,他们能直接看懂XML格式的WSDL文件,我自己是看不懂的,尤其我不是专门搞这行的,即使一段时间看懂,后来也就忘记了。直接调用模式如下:import java.util.Date;import java.text.DateFormat;import org.apache.axis.client.Call;import org....
...Java通过调用webservice返回一个xml文件,我怎么接收这个xml文件,保...
webservice是以xml形式返回结果集,不是返回xml文件,如果真的是返回xml文件的话,那肯定是返回该文件的流,那样的话浏览器自身会自动保存的