java 怎么接收第三方传过来的xml

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 怎么接收第三方传过来的xml相关的知识,希望对你有一定的参考价值。

就是第三方,调我这边的接口,参数是xml,我怎么接收这一串xml

参考技术A 下面是一个java Servlet示例,用于接收POST提交过来的XML数据(仅供参考 ):

Java Servlet代码片段:
import java.io.*;

//...... Servlet doPost相关代码略去

BufferedReader in = request.getReader();
String line;
String realPath = request.getServletContext().getRealPath("/saved-data.txt");

File f = new File(realPath);
FileWriter fw = new FileWriter(realPath);
BufferedWriter bw = new BufferedWriter(fw);
try
while ((line = in.readLine()) != null)
out.println(line);
bw.write(line);
bw.newLine();

bw.close();
fw.close();
out.print("saved data ok!");
catch (Exception e)
e.printStackTrace();
out.println("Mission Completed");
追问

HttpServletRequest request = ServletActionContext.getRequest();
BufferedReader in = request.getReader();
String line;
try
while ((line = in.readLine()) != null)
System.out.println(line + "\n");

catch (Exception e)
e.printStackTrace();

把你的弄了下,确实可以。TKS

本回答被提问者和网友采纳
参考技术B 你写一个axis或xfire写webservice接口,并部署上去,外部系统只要能访问你的ip或网址,就可以根据你发布的接口wsdl描述,调用你的接口。你接收的xml就是你接口方法的参数。一旦其他系统调用你的接口,你的接口方法就会执行。你可以在你的接口方法中对你的xml怎么处理都行。

主要是你要了解webservice开发技术。其实很简单,入门也快,看一下资料就行了。追问

你的意思是,我这边的接口随便弄一个参数用来接收?第三方带的xml会自动往这参数里面装?

参考技术C 如果是通过网络发送来的,要区分采用的协议:
1、如果协议是UDP,请参考:http://blog.csdn.net/zjqlovelyy/article/details/8544774
2、如果是TCP,则通过创建SeverSocket接收端进行接收,请参考:http://zhidao.baidu.com/link?url=7mPIBgH0gtB8JC-TN_Ev46enxC2ZOdb4wK1yDgT6T52yXB3mQVoRdRIKCd6yPq_r8hE1pYzwUAbFJHM2DIR4XW5VO-AC06ZwA_1hZxIthaa
参考技术D 1. java Servlet示例,用于接收POST提交过来的XML数据(仅供参考 ):
2. 实例代码如下:
Java Servlet代码片段:
import java.io.*;

BufferedReader in = request.getReader();
String line;
String realPath = request.getServletContext().getRealPath("/saved-data.txt");

File f = new File(realPath);
FileWriter fw = new FileWriter(realPath);
BufferedWriter bw = new BufferedWriter(fw);
try
while ((line = in.readLine()) != null)
out.println(line);
bw.write(line);
bw.newLine();

bw.close();
fw.close();
out.print("saved data ok!");
catch (Exception e)
e.printStackTrace();
out.println("Mission Completed");
第5个回答  2012-11-07 WebService? HTTP? Socket? 这些方式都可以。追问

就是这个具体怎么接收?

后端接收不到前端传入的header参数信息

参考技术A 在局域网下,前端页面请求时在请求头里携带token信息,后台获取不到header里的token参数

debug查看了下返回的request参数

用postman调接口的request参数

发现cors跨域复杂请求会先发送一个方法为OPTIONS的预检请求,这个请求是用来验证本次请求是否安全的

第二个过滤器判断token时会把预请求当做真正的请求去判断,所以在第二个过滤器判断token之前先判断是不是预请求OPTIONS,不是则验证token,是则放行。

在判断token之前加判断语句

以上是关于java 怎么接收第三方传过来的xml的主要内容,如果未能解决你的问题,请参考以下文章

java后台怎么接收并解析前台传过来的json

java后台要怎么接收从app那边传过来的图片(app那边传的是图片二进制流)?具体代码能写一下吗?

java后台怎么接收并解析前台传过来的json-CSDN论坛

java后台接收前台传过来的参数只能是字符串类型吗?

接收到服务器传过来的json数据 怎么转成javascript对象

java怎么接收http协议传过来的数据,是C语言写的,copy的别来,在线等,