接口开发
来源:互联网 发布:2017年淘宝客最新玩法 编辑:程序博客网 时间:2024/05/16 13:53
private String queryInterfaceResponse(InterfaceConfig config)
{
StringBuffer sb = new StringBuffer(128);
String format = "UTF-8";
if (config == null)
return null;
if ((config.getFormat() != null) && (!"".equals(config.getFormat()))) {
format = config.getFormat();
}
HttpURLConnection c = null;
BufferedWriter writer = null;
BufferedReader br = null;
URL url = null;
try {
String systemid = SystemParamUtil.getParameterById("903909", "903");
if ("1".equals(systemid))
{
url = new URL(config.getServerurl());
}
else
{
url = new URL(config.getPubdynachar9());
}
c = (HttpURLConnection)url.openConnection();
c.setRequestMethod(config.getRequestmethod());
c.setConnectTimeout(config.getTimeout());
c.setReadTimeout(config.getTimeout());
c.setDoInput(true);
c.setDoOutput(true);
if ((config.getPubdynachar1() != null) && (!"".equals(config.getPubdynachar1()))) {
c.setRequestProperty(config.getPubdynachar1(), config.getPubdynachar2() == null ? "" : config.getPubdynachar2().trim());
}
if ((config.getPubdynachar3() != null) && (!"".equals(config.getPubdynachar3()))) {
c.setRequestProperty(config.getPubdynachar3(), config.getPubdynachar4() == null ? "" : config.getPubdynachar4().trim());
}
if ((config.getPubdynachar5() != null) && (!"".equals(config.getPubdynachar5()))) {
c.setRequestProperty(config.getPubdynachar5(), config.getPubdynachar6() == null ? "" : config.getPubdynachar6().trim());
}
if ((config.getPubdynachar7() != null) && (!"".equals(config.getPubdynachar7()))) {
c.setRequestProperty(config.getPubdynachar7(), config.getPubdynachar8() == null ? "" : config.getPubdynachar8().trim());
}
writer = new BufferedWriter(new OutputStreamWriter(c.getOutputStream(), format));
writer.write(config.getReqxml());
writer.flush();
br = new BufferedReader(new InputStreamReader(c.getInputStream(), format));
String line;
while ((line = br.readLine()) != null)
sb.append(line);
}
catch (MalformedURLException e)
{
logger.error("queryInterfaceResponse异常,原因:" + e);
} catch (ProtocolException e) {
logger.error("queryInterfaceResponse异常,原因:" + e);
} catch (IOException e) {
logger.error("queryInterfaceResponse异常,原因:" + e);
}
finally
{
try {
if (writer != null) writer.close();
}
catch (Exception e) { logger.error("queryInterfaceResponse异常,原因:" + e); }
try
{
if (writer != null) writer.close();
}
catch (Exception e) { logger.error("queryInterfaceResponse异常,原因:" + e); }
try
{
if (c != null) c.disconnect();
}
catch (Exception e) { logger.error("queryInterfaceResponse异常,原因:" + e); }
try
{
if (br != null) br.close();
}
catch (Exception e) { logger.error("queryInterfaceResponse异常,原因:" + e); }
}
return sb.toString();
}
private Map<String, Element> toParserMap(String resXML, InterfaceConfig config)
{
Map map = new HashMap();
try {
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(new ByteArrayInputStream(resXML.getBytes(config.getFormat())));
Element root = doc.getRootElement();
if (root == null) {
return map;
}
List nodes = root.getChildren();
for (Element n : nodes) {
if (n == null) {
break;
}
if ("Body".equals(n.getName())) {
List multeRefs = n.getChildren();
for (Element m : multeRefs) {
if (m.getName().endsWith("Response"))
map.put("response", m);
else {
map.put(m.getAttributeValue("id"), m);
}
}
}
}
}
catch (Exception e)
{
logger.error("将返回报文节点,转化为map 异常,原因:" + e);
}
return map;
}
Map bodyMap = toParserMap(resXml, config);
Element response = (Element)bodyMap.get("response");
{
StringBuffer sb = new StringBuffer(128);
String format = "UTF-8";
if (config == null)
return null;
if ((config.getFormat() != null) && (!"".equals(config.getFormat()))) {
format = config.getFormat();
}
HttpURLConnection c = null;
BufferedWriter writer = null;
BufferedReader br = null;
URL url = null;
try {
String systemid = SystemParamUtil.getParameterById("903909", "903");
if ("1".equals(systemid))
{
url = new URL(config.getServerurl());
}
else
{
url = new URL(config.getPubdynachar9());
}
c = (HttpURLConnection)url.openConnection();
c.setRequestMethod(config.getRequestmethod());
c.setConnectTimeout(config.getTimeout());
c.setReadTimeout(config.getTimeout());
c.setDoInput(true);
c.setDoOutput(true);
if ((config.getPubdynachar1() != null) && (!"".equals(config.getPubdynachar1()))) {
c.setRequestProperty(config.getPubdynachar1(), config.getPubdynachar2() == null ? "" : config.getPubdynachar2().trim());
}
if ((config.getPubdynachar3() != null) && (!"".equals(config.getPubdynachar3()))) {
c.setRequestProperty(config.getPubdynachar3(), config.getPubdynachar4() == null ? "" : config.getPubdynachar4().trim());
}
if ((config.getPubdynachar5() != null) && (!"".equals(config.getPubdynachar5()))) {
c.setRequestProperty(config.getPubdynachar5(), config.getPubdynachar6() == null ? "" : config.getPubdynachar6().trim());
}
if ((config.getPubdynachar7() != null) && (!"".equals(config.getPubdynachar7()))) {
c.setRequestProperty(config.getPubdynachar7(), config.getPubdynachar8() == null ? "" : config.getPubdynachar8().trim());
}
writer = new BufferedWriter(new OutputStreamWriter(c.getOutputStream(), format));
writer.write(config.getReqxml());
writer.flush();
br = new BufferedReader(new InputStreamReader(c.getInputStream(), format));
String line;
while ((line = br.readLine()) != null)
sb.append(line);
}
catch (MalformedURLException e)
{
logger.error("queryInterfaceResponse异常,原因:" + e);
} catch (ProtocolException e) {
logger.error("queryInterfaceResponse异常,原因:" + e);
} catch (IOException e) {
logger.error("queryInterfaceResponse异常,原因:" + e);
}
finally
{
try {
if (writer != null) writer.close();
}
catch (Exception e) { logger.error("queryInterfaceResponse异常,原因:" + e); }
try
{
if (writer != null) writer.close();
}
catch (Exception e) { logger.error("queryInterfaceResponse异常,原因:" + e); }
try
{
if (c != null) c.disconnect();
}
catch (Exception e) { logger.error("queryInterfaceResponse异常,原因:" + e); }
try
{
if (br != null) br.close();
}
catch (Exception e) { logger.error("queryInterfaceResponse异常,原因:" + e); }
}
return sb.toString();
}
private Map<String, Element> toParserMap(String resXML, InterfaceConfig config)
{
Map map = new HashMap();
try {
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(new ByteArrayInputStream(resXML.getBytes(config.getFormat())));
Element root = doc.getRootElement();
if (root == null) {
return map;
}
List nodes = root.getChildren();
for (Element n : nodes) {
if (n == null) {
break;
}
if ("Body".equals(n.getName())) {
List multeRefs = n.getChildren();
for (Element m : multeRefs) {
if (m.getName().endsWith("Response"))
map.put("response", m);
else {
map.put(m.getAttributeValue("id"), m);
}
}
}
}
}
catch (Exception e)
{
logger.error("将返回报文节点,转化为map 异常,原因:" + e);
}
return map;
}
Map bodyMap = toParserMap(resXml, config);
Element response = (Element)bodyMap.get("response");
0 0
- 接口开发
- 接口开发
- 接口开发
- 接口开发
- web开发接口,音乐接口,天气接口,地图接口
- 开发日记:接口开发设计
- SSO接口开发-FAQ
- .net开发Provision接口
- 贝贝短信开发接口
- 短消息开发接口!!!!!!!!!!!!!!!!!!
- MSN开发接口
- Google应用程序开发接口
- 支付宝接口开发
- IsmpSp接口开发
- PHP Paypal接口开发
- ucenter接口开发
- paypal支付开发接口
- hibernate 核心开发接口
- libevent在windows下使用步骤详解
- Linux文件解压
- poj 1050 最大的子矩阵和
- 我的CS学习路线图
- 贝叶斯决策
- 接口开发
- leetcode Merge k Sorted Lists
- [Leetcode]Range Sum Query 2D - Immutable
- C 指针 数组
- 快速傅里叶变换
- 安卓学习:(6)安卓操作sqlite数据库
- 百度面试--内存分配的一个典型程序
- ssh整合是遇到问题
- hdu 5529-ZYB's Premutation(逆推逆序数变形)