将数据从PHP传输到Java

将数据从PHP传输到Java,java,php,Java,Php,我有一个XML文件,我需要使用PHP解析它,并将解析后的数据发送到Java,有哪些最佳实践可以实现它?这是一个类似web服务的案例研究> P>如果数据大小相当大,需要快速传输,那么就要考虑OrthBuFF()。它类似于SOAP,但完全以二进制方式进行通信。我想了解更多关于您尝试做什么的前提以及您的局限性可能会有所帮助 您是否只对PHP端进行编码并将数据发送到已经创建的Java应用程序?还是你在两面都做?您可以使用什么样的协议与Java进行接口 //->澄清后// 我对ILOG引擎不太了解,但是我

我有一个XML文件,我需要使用PHP解析它,并将解析后的数据发送到Java,有哪些最佳实践可以实现它?

这是一个类似web服务的案例研究

> P>如果数据大小相当大,需要快速传输,那么就要考虑OrthBuFF()。它类似于SOAP,但完全以二进制方式进行通信。

我想了解更多关于您尝试做什么的前提以及您的局限性可能会有所帮助

您是否只对PHP端进行编码并将数据发送到已经创建的Java应用程序?还是你在两面都做?您可以使用什么样的协议与Java进行接口

//->澄清后//

我对ILOG引擎不太了解,但是我看了一下API,想知道从哪里开始

显然,我不知道如何为您设置所有内容,但ILOG似乎已经内置了一个用于处理XML的API

就我个人而言,我会对XML文件进行必要的修改,并将其交给Java程序,以便使用该API


对不起,如果我走错了方向

您也可以使用(PHPV5)读取XML文件中的数据

有一个PHP/Java桥实现:我以前的公司在一个项目中使用过一次,据我所知,它是有效的,但我没有参与该项目,所以我无法确切地告诉您任何问题


如果这不是一个选项,那么通过SOAP或更“轻量级”的交换格式的Web服务将是您的最佳选择。

为什么必须使用PHP解析此文件?将此代码移植到Java是不可能的吗?PHP代码返回什么?Java能多容易地阅读这个问题(或者这是整个问题的一部分?)

在我看来,您有以下几种选择:用Java重写逻辑,一个web服务(SOAP,REST)或a。您所说的“解析”是什么意思?PHP代码到底在做什么


您可以使用SOAP、XMLRPC、Thrift或Protobuf之类的工具来让这两种语言彼此对话,但可能更简单的方法是让PHP代码加载XML并通过HTTP或其他方式将其逐字节发送到Java程序。然后,Java代码可以完成解析工作,这可能与将XML数据传递到您正在使用的库一样简单。

我建议使用这种替代方法-

a) 在PHP中解析XML并将其转换为JSON(Java脚本对象表示法)。(操作JSON对象非常简单,就像在PHP中处理映射/数组一样)
b) 对JSON数据执行任何操作。
c) 调用Java服务器端组件(Servlet/Struts操作等,假设Java是web组件),并将JSON数据发布到该组件。
d) 只需读取请求参数(JSON数据)并使用JSON库(sourceforge有一个很好的java JSON库)将数据解析为映射/列表(取决于您拥有的数据类型)。

因此您希望:

解析xml

提取一些数据并将其插入MySql

分析传入数据并构造一些JRules参数

然后调用Jrules

对吧?

据我所知,JRules没有命令行API——如果有,您可以使用系统(…)调用启动应用程序

我最好的建议是用Java做所有事情

JRules正在Websphere中运行,因此您肯定有一个Servlet引擎在运行。 Java提供了解析XML、更新数据库和调用JRules所需的所有API。为什么要从php调用Java类呢

交替地!我注意到JRules有一个web服务接口。web上的某个地方有一个PHPSOAP::Client接口(它是可选的,但在大多数PHP5发行版中应该作为默认接口提供),因此您可以在JRules上配置WebService,获取xml模式并将其加载到php引擎中。然后使用phps SOAP::Client类来调用Web服务就相对容易了。看


尽管如此,还是更喜欢纯Java选项。

以下场景适用:

  • 创建一个php rest服务,例如当标准web请求请求时将返回xml文件的页面(例如,尝试在brwoser中打开页面)。然后,Java应用程序将连接到php rest服务(例如,page)并获得xml输出

  • Java应用程序启动一个TCP服务器,PHP应用程序使用TCP协议连接到该服务器,并将XML文件发送到Java应用程序

  • PHP应用程序将xml文件保存在数据库表中的一列中,Java应用程序从中读取它


  • 有非常有限的选项可以做到这一点吗?我必须使用PHP解析包含决策规则的传入XML,然后使用Java中的JRules API将决策规则传递给ILOG JRules引擎,希望这能澄清问题。您的Java应用程序在XML所在的同一台机器上吗?您能直接从Java应用程序读取XML吗?不能。它在不同的机器上。直接从Java应用程序读取XML可能是解决方案之一?它是您自己的代码还是预编译的Jar?它希望数据采用什么格式?感谢您的努力BrandonCS。为什么不使用java api来解析规则呢?您是对的,java准备的容易程度是整个问题。我必须使用PHP解析XML,然后我需要将数据解析为Java。为什么你必须用PHP解析数据?PHP过程中产生的数据是什么样子的,还是还没有确定?如果不是,除了“解析”数据,PHP进程还做什么?在这种情况下,解析意味着什么?这是一个解析XML文件的简单案例,我们可以使用perl或php,解析后的数据需要进入mysql数据库,决策表需要进入JRules引擎。数据公司