将数据从一个 Java 应用程序发送到另一个应用程序
Send data from one Java application to another
我必须将 XML 文件从一个 java 应用程序发送到另一个应用程序。
目前,它是这样工作的:
- 从应用程序 1 导出到本地 XML-文件
- 在应用程序 2
中导入本地 XML-文件
现在我必须通过网络服务来完成这项工作。是否可以在应用程序 1 中创建一个 JAX-WS Web 服务,并使用所需的数据重定向到应用程序 2?
我可以将数据(对象)作为序列化对象发送,而不是 XML 文件。但这可能吗?如果是这样,怎么办?
这两个应用程序都是用 Eclipse-Scout 编写的。
提前致谢。
如果您的两个应用 运行 在不同的机器上,webservice 是简单而有用的。
发送服务器:
使用 http 库(post 或获取)
1只保留你的档案。只需使用 HTTP / POST。适用于二进制文本
2更简单:如果你的数据是小文本,你可以使用HTTP / GET(注意特殊字符:你可以对它们进行编码)。
3 如果你能把所有的数据放在一个结构(对象)中,就把它序列化,把结果放在一个字符串中,然后发送。
接收服务器:
如果使用tomcat,扩展HttpServlet,通过doPost或doGet获取
或者您可以使用另一个轻型 http 服务器
或 soap 库(不需要)。
DOPOST/DOGET
发送服务器:
HttpURLConnection conn= (HttpURLConnection) url.openConnection(); // 等等
接收服务器:
public class MyServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String one_parameter = request.getParameter("name_of_parameter");
有关更多说明,请参阅这些链接:
doGet and doPost in Servlets
(评论有点长)
您可能希望远离像 JAX-WS 这样臃肿的东西,而只使用标准的 Servlet 和 JAXB 或 XStream for de-/serialisation。
此外,永远不要在未经身份验证的 inputs/transport 上使用 Java(二进制)反序列化或默认 XStream(例如 HTTP 或不受信任的客户端,即使使用 HTTPS)。它总是会导致远程代码执行漏洞,如果不重新开发您的网络服务接口就无法缓解。最近 instance...
我必须将 XML 文件从一个 java 应用程序发送到另一个应用程序。
目前,它是这样工作的: - 从应用程序 1 导出到本地 XML-文件 - 在应用程序 2
中导入本地 XML-文件现在我必须通过网络服务来完成这项工作。是否可以在应用程序 1 中创建一个 JAX-WS Web 服务,并使用所需的数据重定向到应用程序 2?
我可以将数据(对象)作为序列化对象发送,而不是 XML 文件。但这可能吗?如果是这样,怎么办?
这两个应用程序都是用 Eclipse-Scout 编写的。
提前致谢。
如果您的两个应用 运行 在不同的机器上,webservice 是简单而有用的。
发送服务器: 使用 http 库(post 或获取)
1只保留你的档案。只需使用 HTTP / POST。适用于二进制文本
2更简单:如果你的数据是小文本,你可以使用HTTP / GET(注意特殊字符:你可以对它们进行编码)。
3 如果你能把所有的数据放在一个结构(对象)中,就把它序列化,把结果放在一个字符串中,然后发送。
接收服务器:
如果使用tomcat,扩展HttpServlet,通过doPost或doGet获取
或者您可以使用另一个轻型 http 服务器
或 soap 库(不需要)。
DOPOST/DOGET
发送服务器: HttpURLConnection conn= (HttpURLConnection) url.openConnection(); // 等等
接收服务器:
public class MyServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String one_parameter = request.getParameter("name_of_parameter");
有关更多说明,请参阅这些链接:
doGet and doPost in Servlets
(评论有点长)
您可能希望远离像 JAX-WS 这样臃肿的东西,而只使用标准的 Servlet 和 JAXB 或 XStream for de-/serialisation。
此外,永远不要在未经身份验证的 inputs/transport 上使用 Java(二进制)反序列化或默认 XStream(例如 HTTP 或不受信任的客户端,即使使用 HTTPS)。它总是会导致远程代码执行漏洞,如果不重新开发您的网络服务接口就无法缓解。最近 instance...