-
java 接收 xml_关于java后台如何接收xml格式的数据
2021-02-27 10:10:43业务场景:用户发送下单请求,格式为xml格式,服务器接收数据完成下单,并返回结果给客户。请求格式:这段请求报文是xml格式的,在后台我们可以使用 javax.xml.bind.annotation 这个包格式化数据。比如:importjava....业务场景:用户发送下单请求,格式为xml格式,服务器接收数据完成下单,并返回结果给客户。
请求格式:
这段请求报文是xml格式的,在后台我们可以使用 javax.xml.bind.annotation 这个包格式化数据。
比如:
importjava.io.Serializable;importjavax.xml.bind.annotation.XmlAccessType;importjavax.xml.bind.annotation.XmlAccessorType;importjavax.xml.bind.annotation.XmlElement;importjavax.xml.bind.annotation.XmlRootElement;importorg.apache.commons.lang.builder.ToStringBuilder;importorg.apache.commons.lang.builder.ToStringStyle;importcom.juqitech.adapter.dto.ChannelDTO;
@XmlRootElement(name= "request")
@XmlAccessorType(XmlAccessType.NONE)public class RequestDTO implementsSerializable {private static final long serialVersionUID = -1;
@XmlElementprivateRequestHeaderDTO head;
@XmlElementprivateRequestBodyDTO body;publicRequestHeaderDTO getHead() {returnhead;
}public voidsetHead(RequestHeaderDTO head) {this.head =head;
}publicRequestBodyDTO getBody() {returnbody;
}public voidsetBody(RequestBodyDTO body) {this.body =body;
}
}
@XmlRootElement(name = "request")可以定义在类上,代表根节点
@XmlAccessorType(XmlAccessType.FIELD)
表示使用这个类中的 private 非静态字段作为 XML 的序列化的属性或者元素。这里还可以选择属性,也就是使用 set/get 方法来序列化属性或者元素。
关键在于在请求中有个extendInfos的array数组,一般我们都会用list来表示,所以在RequestBodyDTO中可以这么写:
importjava.io.Serializable;importjavax.xml.bind.annotation.XmlAccessType;importjavax.xml.bind.annotation.XmlAccessorType;importjavax.xml.bind.annotation.XmlElement;importjavax.xml.bind.annotation.XmlRootElement;importorg.apache.commons.lang.builder.ToStringBuilder;importorg.apache.commons.lang.builder.ToStringStyle;importcom.juqitech.adapter.dto.ChannelDTO;
@XmlRootElement(name= "body")
@XmlAccessorType(XmlAccessType.NONE)public class RequestBodyDTO implementsSerializable {private static final long serialVersionUID = -1;//....前面的属性省略
@XmlElementWrapper(name="extendInfos")
@XmlElement(name="extendInfo")private ListextendInfos;//。。其他的省略
}
@XmlRootElement(name= "extendInfo")
@XmlAccessorType(XmlAccessType.NONE)public classextendInfo{
@XmlElementprivateString city;
@XmlElementprivateString province;
@XmlElementprivateString district;//省略
}
@XmlElementWrapper 这个注释用来在外面在包一层,用于处理list集合
原文:http://www.cnblogs.com/wangzun/p/7356463.html
-
java接收xml数据_关于java后台如何接收xml格式的数据
2021-03-04 05:32:30业务场景:用户发送下单请求,格式为xml格式,服务器接收数据完成下单,并返回结果给客户。请求格式:这段请求报文是xml格式的,在后台我们可以使用 javax.xml.bind.annotation 这个包格式化数据。我们可以在做数据...业务场景:用户发送下单请求,格式为xml格式,服务器接收数据完成下单,并返回结果给客户。
请求格式:
这段请求报文是xml格式的,在后台我们可以使用 javax.xml.bind.annotation 这个包格式化数据。
我们可以在做数据对应的dto是用@XmlElement注释标注对应节点
比如:
importjava.io.Serializable;importjavax.xml.bind.annotation.XmlAccessType;importjavax.xml.bind.annotation.XmlAccessorType;importjavax.xml.bind.annotation.XmlElement;importjavax.xml.bind.annotation.XmlRootElement;importorg.apache.commons.lang.builder.ToStringBuilder;importorg.apache.commons.lang.builder.ToStringStyle;importcom.juqitech.adapter.dto.ChannelDTO;
@XmlRootElement(name= "request")
@XmlAccessorType(XmlAccessType.NONE)public class RequestDTO implementsSerializable {private static final long serialVersionUID = -1;
@XmlElementprivateRequestHeaderDTO head;
@XmlElementprivateRequestBodyDTO body;publicRequestHeaderDTO getHead() {returnhead;
}public voidsetHead(RequestHeaderDTO head) {this.head =head;
}publicRequestBodyDTO getBody() {returnbody;
}public voidsetBody(RequestBodyDTO body) {this.body =body;
}
}
@XmlRootElement(name = "request")可以定义在类上,代表根节点
@XmlAccessorType(XmlAccessType.FIELD)
表示使用这个类中的 private 非静态字段作为 XML 的序列化的属性或者元素。这里还可以选择属性,也就是使用 set/get 方法来序列化属性或者元素。
关键在于在请求中有个extendInfos的array数组,一般我们都会用list来表示,所以在RequestBodyDTO中可以这么写:
importjava.io.Serializable;importjavax.xml.bind.annotation.XmlAccessType;importjavax.xml.bind.annotation.XmlAccessorType;importjavax.xml.bind.annotation.XmlElement;importjavax.xml.bind.annotation.XmlRootElement;importorg.apache.commons.lang.builder.ToStringBuilder;importorg.apache.commons.lang.builder.ToStringStyle;importcom.juqitech.adapter.dto.ChannelDTO;
@XmlRootElement(name= "body")
@XmlAccessorType(XmlAccessType.NONE)public class RequestBodyDTO implementsSerializable {private static final long serialVersionUID = -1;//....前面的属性省略
@XmlElementWrapper(name="extendInfos")
@XmlElement(name="extendInfo")private ListextendInfos;//。。其他的省略
}
@XmlRootElement(name= "extendInfo")
@XmlAccessorType(XmlAccessType.NONE)public classextendInfo{
@XmlElementprivateString city;
@XmlElementprivateString province;
@XmlElementprivateString district;//省略
}
@XmlElementWrapper 这个注释用来在外面在包一层,用于处理list集合
-
java http 接收xml参数_通过http请求传递xml流和接收xml流的代码示例
2021-02-26 12:48:14在servlet中post一个xml流:import java.io.OutputStreamWriter;import org.jdom.Document;import org.jdom.Document;public void doPost(HttpServletRequest request, HttpServletResponse response)throws ...//1.在servlet中post一个xml流:
import java.io.OutputStreamWriter;
import org.jdom.Document;
import org.jdom.Document;
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//do somthing...
response.setContentType("application/xml");
Document doc = createDoc();
String strdoc = new XMLOutputter().outputString(doc);
OutputStreamWriter out = new OutputStreamWriter(response
.getOutputStream(), "UTF-8");
out.write(strdoc);
out.flush();
out.close();
//do somthing...
}
/***
*将要封装的数据,封装为xml文件的Document格式
*/
public Document createDoc() {
Document doc = null;
Element root;
Element viewentry;
Element entry;
List list = getData();
try {
XMLOutputter docWriter = new XMLOutputter(" ", true);
docWriter.setEncoding("UTF-8");
root = new Element("your_element_name");
doc = new Document(root);
root = doc.getRootElement();
if (list == null || list.size() == 0) {
return doc;
}
Iterator it = list.iterator();
while (it.hasNext()) {
Map colMap = (Map) it.next();
viewentry = new Element("document");
entry = new Element("author");
entry.setText(colMap.get("userid").toString());
viewentry.addContent(entry);
//do other entry in this way
root.addContent(viewentry);
}
} catch (Exception e) {
e.printStackTrace();
}
return doc;
}
//2.根据接收的url,从其中获取xml流生成xml文件
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;
import sun.net.www.protocol.http.HttpURLConnection;
public static Document getDocument(String url){
Document doc = null;
HttpURLConnection conn = null;
InputStream ins = null;
SAXReader reader = null;
try{
HttpTimeoutHandler hth = new HttpTimeoutHandler(600000);
URL conURL = new URL(null,url,hth);
conn = (HttpURLConnection)conURL.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
ins = conn.getInputStream();
reader =new SAXReader();
doc= reader.read(ins);
ins.close();
conn.disconnect();
}catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally {
try {
if (ins != null) {
ins.close();
ins = null;
}
} catch (IOException e1) {
e1.printStackTrace();
}
try {
if (conn != null) {
conn.disconnect();
conn = null;
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return doc;
}
3.//处理url超时限制
/***
HttpTimeoutHandler.java
*/
import java.net.*;
import java.io.IOException;
public class HttpTimeoutHandler extends sun.net.www.protocol.http.Handler {
int intTimeoutVal;
HttpURLConnectionTimeout fHUCT;
public HttpTimeoutHandler(int iT) {
intTimeoutVal = iT;
}
protected java.net.URLConnection openConnection(URL u) throws IOException {
return fHUCT = new HttpURLConnectionTimeout(u, this, intTimeoutVal);
}
String GetProxy() {
return proxy;
} // breaking encapsulation
int GetProxyPort() {
return proxyPort;
} // breaking encapsulation
public void Close() throws Exception {
fHUCT.Close();
}
public Socket GetSocket() {
return fHUCT.GetSocket();
}
}
-
java接收c xml报文_JAVA+RestTemplate 发起Http请求接收JSON 和XML 格式报文处理
2021-03-17 16:41:47工程架构: SpringBoot 2.2.1.RELEASE通过RestTemplate 发起Http请求,并接收JSON格式的返回值和XML返回值;GET请求带参传递(返回JSON格式):通过{}为URL 注入参数,返回值用String接收在进行JSON转对象处理public ...工程架构: SpringBoot 2.2.1.RELEASE
通过RestTemplate 发起Http请求,并接收JSON格式的返回值和XML返回值;
GET请求带参传递(返回JSON格式):
通过{}为URL 注入参数,返回值用String接收在进行JSON转对象处理
public XiDaoHttpResult getXiDaoData() {
RestTemplate restTemplate = new RestTemplate();
String url = "http://xxxxx:xxxx?end_date_time={end_date_time}&start_date_time={start_date_time}";
HttpHeaders headers = new HttpHeaders();
MediaType type = MediaType.parseMediaType("application/json; charset=GBK");
headers.setContentType(type);
Mapparam = new HashMap<>();
// 设置开始时间和结束时间 开始时间为当天的0点,结束时间为当前时间
String startTime = DateUtil.DateFormatting("yyyy-MM-dd HH:mm:ss", DateUtil.initDateByDay());
String endTime = DateUtil.DateFormatting("yyyy-MM-dd HH:mm:ss", new Date());
param.put("end_date_time", endTime);
param.put("start_date_time", startTime);
String forObject = restTemplate.getForObject(url, String.class, param);
XiDaoHttpResult xiDaoHttpResult = JSONObject.parseObject(forObject.toLowerCase(), XiDaoHttpResult.class);
return xiDaoHttpResult;
}
GET请求带参传递(返回XML格式):
通过{}为URL 注入参数,返回值用String接收在进行字符串转XML转对象处理
public String getTianYaHaiJiaoData() {
RestTemplate restTemplate = new RestTemplate();
String startTime = DateUtil.DateFormatting("yyyy-MM-dd HH:mm:ss", DateUtil.initDateByDay());
String endTime = DateUtil.DateFormatting("yyyy-MM-dd HH:mm:ss", new Date());
Mapparam = new HashMap<>();
param.put("startDate", startTime);
param.put("endDate", endTime);
String mySign = SignUtil.buildMysign(param, KEY);
param.put("sign", mySign);
return restTemplate.getForObject(URL, String.class, param);
}
/**
* 将XML字符串转为对象
*
* @param xml
* @return com.syiti.dev.sssy.entity.TianYaHaiJiaoHttpResult
* @author LinYoufeng
* @date 16:14 2019/11/26
**/
public TianYaHaiJiaoHttpResult parseXmlStr(String xml) {
TianYaHaiJiaoHttpResult tianYaHaiJiaoHttpResult = new TianYaHaiJiaoHttpResult();
// 将字符串转化为XML文档对象
Document document = null;
try {
document = DocumentHelper.parseText(xml);
} catch (DocumentException e) {
e.printStackTrace();
}
// 获得文档的根节点
Element root = document.getRootElement();
// 遍历根节点下所有子节点
Iterator> iter = root.elementIterator();
while (iter.hasNext()) {
Element ele = (Element) iter.next();
if ("code".equals(ele.getName())) {
tianYaHaiJiaoHttpResult.setCode(Integer.valueOf(ele.getText()));
}
if ("saleTicketPersonSum".equals(ele.getName())) {
tianYaHaiJiaoHttpResult.setSaleTicketPersonSum(Integer.valueOf(ele.getText()));
}
if ("checkTicketPersonSum".equals(ele.getName())) {
tianYaHaiJiaoHttpResult.setCheckTicketPersonSum(Integer.valueOf(ele.getText()));
}
}
return tianYaHaiJiaoHttpResult;
}
-
java http请求传递xml_通过http请求传递xml流和接收xml流的代码示例
2021-03-13 18:15:38在servlet中post一个xml流:import java.io.OutputStreamWriter;import org.jdom.Document;import org.jdom.Document;public void doPost(HttpServletRequest request, HttpServletResponse response)throws ... -
java后端接收xml格式数据_springmvc接收xml格式数据,发送xml格式数据。
2021-03-08 18:47:211.类封装对应的xml数据。添加注解@XmlRootElement,标识封装xml数据,否则为json数据。类上再添加@XmlAccessorType(XmlAccessType.FIELD)代表@XmlElement...发送xml请求消息体:yaoct123456对应响应消息体封装类:@X... -
java 接收 post xml数据_HttpClient发送Post请求,内容格式为xml,并获取响应内容
2021-02-28 15:12:10ChannelDistributor.xml 内容如下:yisouabcd123410010000001).HttpClient发送Post请求,内容格式为xml,并获取响应内容import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.... -
java后台接收form表单/json/xml请求数据
2019-10-29 11:21:46这儿只写两个常用的三种接收方式 我们用得最多的应该属于form表单提交,比如页面代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Insert title here</... -
springmvc接收xml数据格式请求详解
2017-06-29 16:07:13springmvc接收xml数据格式请求详解 本人在网上找了好久还是没有找到这个解决方案。以下是本人的解决方法。 接收的格式数据: <?xml version="1.0" encoding="UTF-8"?> <xml> <id>1 <name>xxl <age>24 </xml> ... -
java mvc.xml_SpringMVC接收xml格式参数
2021-03-04 10:16:40问题在对接银行过程中,银行回调时请求参数格式为xml,要求返回格式也为xml(CDATA包裹),利用SpringMVC该怎么处理。测试xml格式参数为:提供接受参数的对象@Data //lombok注解,无需手动添加getter/setter@... -
java处理text/xml请求和dom4j解析xml
2020-11-05 11:14:08本人就写了个接口,接收xml数据,解析xml将数据保存到数据库即可; 下面是本人对xml解析 首先定义个接口,公司老旧struts2框架,凑合看吧 public String createMsgInfo() throws IOException, DocumentExce. -
java请求并接收(json&xml格式)第三方请求小结
2019-06-27 10:30:591.http请求 1.http请求类型: 分为post和get请求: ...java代码实现:使用java自带的URLConnection实现get请求 //相应包导入 import java.io.BufferedReader; import java.io.IOException; impor... -
java webservice 接收数据_java向webService(java)接口请求并接收数据
2021-02-26 10:06:32import java.net.URL;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.xml.namespace.QName;import javax.xml.rpc.ParameterMode;import org.apache... -
java http 接收xml参数_读写xml并使用xml文件进行参数传递给接口获取返回内容——wishPost请求物流单号为例...
2021-02-27 21:06:45} } // 下面的为固定代码---------可以完成java对XML的写,改等操作 public static void saveDocument(Document document, FileOutputStream xmlFile) throws IOException { Writer osWrite = new ... -
JAVA+RestTemplate 发起Http请求接收JSON 和XML 格式报文处理
2019-11-27 12:06:46通过RestTemplate 发起Http请求,并接收JSON格式的返回值和XML返回值; GET请求带参传递(返回JSON格式): 通过{}为URL 注入参数,返回值用String接收在进行JSON转对象处理 public XiDaoHttpResult getXiDaoData() ... -
通过http请求传递xml流和接收xml流的代码示例
2017-12-22 16:53:20通过http请求传递xml流和接收xml流的代码示例 //1.在servlet中post一个xml流: import java.io.OutputStreamWriter; import org.jdom.Document; import org.jdom.Document; public void doPost... -
关于java后台如何接收xml格式的数据
2017-08-14 10:33:00业务场景:用户发送下单请求,格式为xml格式,服务器接收数据完成下单,并返回结果给客户。 请求格式: <request> <head> <sign></sign> <time></time> <msg>... -
java 接收soap_java调用webservice天气预报(SOAP请求的方式获取天气信息并解析返回的XML)...
2021-02-28 15:13:23package ...import java.io.InputStream;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.net.URL;import java.net.URLConnection;import javax.xml.parsers.DocumentBui... -
java向webService(java)接口请求并接收数据
2019-07-31 16:17:00import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.xml.nam... -
java接收参数_java端使用注解接收参数时,ajax请求注意
2021-02-12 14:19:54推荐文章@RequestBody可以将客户端请求报文体通过数据类型转换后绑定为mvc控制器方法参数,@RequestBody有一个datatype属性,用来指定请求报文的数据格式,目前支持json,xml,String三种类型。@RequestBody的使用... -
【转载】Java后台接收URL请求中文字符乱码
2018-11-19 23:48:27打开tomcat安装目录中conf目录下的server.xml配置文件; 2、修改配置 找到如下配置的地方: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" ... -
Java发送POST请求,并接收返回JSON数据
2020-07-02 17:47:561.请求参数为json格式 1.pom.xml文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:... -
java 表单xml方式提交_POST不同提交方式对应的Content-Type,及java服务器接收参数方式...
2021-03-15 13:12:56POST不同提交方式对应的Content-Type,及java服务器接收参数方式注:本博客参考了网上的文章结合自己工作总结后所写,主要用于记录自己工作所得,如有错误请批评指正.简介:Content-Type(MediaType),即是Internet Media ... -
c java sqlite数据库操作_接收cXML订单并插入SQLite数据库
2021-03-07 16:33:02需要点击下载知行EDI系统以及具有预配置的端口,用于验证通过公开的API端点接收到的cXML请求,提取接收到的订单并将它们存储在本地SQLite数据库中。下载示例工程整体流程的核心元素由以下端口组成:API 端口:允许您... -
关于通过JAVA的HTTP POST请求传输XML型数据
2016-08-17 15:45:15关于跨域传输XML数据,由于刚接触到,碰到了许多问题。这里把一些相关方法记录下来,也给大家提供一些参考(新手适用,高手请...(用于别人请求自己的接口,接收请求数据并返回数据) 下面是大致实现代码: Client: p