问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Duboo,http协议的接口,怎么调用

发布网友 发布时间:2022-05-01 07:15

我来回答

1个回答

热心网友 时间:2022-06-25 23:15

public void sendMessage() throws Exception {
System.out.println("调用servlet开始=================");
StringBuffer sendStr = new StringBuffer();
sendStr.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
sendStr.append("<report_data>");
sendStr.append("<request_req>953943547334</request_req>");
sendStr.append("<request_time>2012040211394324</request_time>");
sendStr.append("<request_param>");
sendStr.append("<query_month>201203</query_month>");
sendStr.append("</request_param>");
sendStr.append("</report_data>");

BufferedReader reader = null;

try {
String strMessage = "";
StringBuffer buffer = new StringBuffer();

// 接报文的地址
URL uploadServlet = new URL(

HttpURLConnection servletConnection = (HttpURLConnection) uploadServlet
.openConnection();
// 设置连接参数
servletConnection.setRequestMethod("POST");
servletConnection.setDoOutput(true);
servletConnection.setDoInput(true);
servletConnection.setAllowUserInteraction(true);

// 开启流,写入XML数据
OutputStream output = servletConnection.getOutputStream();
System.out.println("发送的报文:");
System.out.println(sendStr.toString());

output.write(sendStr.toString().getBytes());
output.flush();
output.close();

// 获取返回的数据
InputStream inputStream = servletConnection.getInputStream();
reader = new BufferedReader(new InputStreamReader(inputStream));
while ((strMessage = reader.readLine()) != null) {
buffer.append(strMessage);
}

System.out.println("接收返回值:" + buffer);

} catch (java.net.ConnectException e) {
throw new Exception();
} finally {
if (reader != null) {
reader.close();
}

}
}
5.2响应程序代码

public class TestTransfers extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
}

protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {

//判断请求报文是否来自代维系统的ip地址
String ip = request.getRemoteHost();

// 获取收到的报文
BufferedReader reader = request.getReader();
String line = "";
StringBuffer inputString = new StringBuffer();
while ((line = reader.readLine()) != null) {
inputString.append(line);
}

//如有必要,可以在报文中增加其他验证和加密的参数
//解析获取到的报文,根据ip地址、其他验证、加密等等来判断请求报文的服务器是否有权限

//如果请求验证合格,则根据请求的参数装配返回的报文

// 要返回的报文
StringBuffer resultBuffer = new StringBuffer();
resultBuffer.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
resultBuffer.append("<report_data>");
resultBuffer.append("<respon_req>953947334</respon_req>");
resultBuffer.append("<respon_time>20120402113943</respon_time>");
resultBuffer.append("<result>");
resultBuffer.append("<id>0000</id>");
resultBuffer.append("<comment>成功</comment>");
resultBuffer.append("</result>");
resultBuffer.append("<items>");
resultBuffer.append("<item>");
resultBuffer.append("<county>长治县</county>");
resultBuffer.append("<company>铁通</company>");
resultBuffer.append("<speciality>线路</speciality>");
resultBuffer.append("<personnel>王加和</personnel>");
resultBuffer.append("<begin_time>20120301000000</begin_time>");
resultBuffer.append("<end_time>20120331235959</end_time>");
resultBuffer.append("<plan_quantity>50</plan_quantity>");
resultBuffer.append("<checkout_quantity>40</checkout_quantity>");
resultBuffer.append("<patrol_rate>0.80</patrol_rate>");
resultBuffer.append("</item>");
//......
//......
//......
//循环组装响应的报文

resultBuffer.append("</items>");
resultBuffer.append("</report_data>");

// 设置发送报文的格式
response.setContentType("text/xml");
response.setCharacterEncoding("UTF-8");

PrintWriter out = response.getWriter();
out.println(resultBuffer.toString());
out.flush();
out.close();
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 听说迈阿密的飓风季节是6月到11月,那9月份去迈阿密天气真的会非常糟糕吗? 为什么说双触摸屏影响了奥迪A7的竞争力? 在C罗之前,葡萄牙还有哪些著名的足球巨星? 美国迈阿密地理和气候是怎样的? java开发接口利用http协议传输数据 潍坊移动联通号码段是多少? 美国哪些地方有飓风,时间范围 15318961329是潍坊市哪的号? 多米尼加的气候是 山东潍坊的公用电话是几位数的?和手机号码一样的? 程咬金劫皇杠 寓意 C罗之前,葡萄牙还出了哪些足球巨星?分别是谁? 三年车子出现触屏失灵方向盘键和触控板可以用? 求QQ有涵养的个性签名(我是男生) 为什么飓风季节是周期性? 甘肃号和山东潍坊号打电话是长途吗? 饥荒海难飓风季节介绍 潍坊手机号怎么实名认证? 怎么办理停机保号,潍坊联通? 继C罗之前,葡萄牙都出过哪些足球巨星呢? 飓风“汉娜”过境美国,飓风都是怎么形成的呢? 为什么特斯拉、小鹏汽车都喜欢弄单独的中控大屏,这有什么特别之处吗? 微信支付接口从http换到https有什么影响 实现用http请求对接spring mvc接口 飓风季节怎么看不了 饥荒飓风季节怎么过 有什么特点 现在纳尼c罗和当年菲戈孔塞桑的边路哪个厉害? Java怎么给WebService加密 历史上的飓风 多米尼克气候及温度 美国科罗拉多州遭强暴风雪,今年的自然灾害为什么如此频繁? 多米尼加6至7月降水稀少的原因是什么? 大西洋热带风暴“奥费利娅”已加强为一级飓风了吗? 有哪些知识面杂、读起来又有趣的书可以推荐? 继C罗之前,葡萄牙还出过哪些足球巨星? 论综合能力和球队领导力,C罗和路易斯菲戈谁更优秀? 有哪些有趣的书可以激起人阅读的兴趣? 飓风:自然的暴力阅读题 C罗之前,葡萄牙还出了哪些足球巨星? 尤西比奥,菲戈,鲁伊科斯塔,C罗,费尔南多戈麦斯,谁才是葡萄牙历史上最伟大的球星?