JDEdwards XMLInterop
想知道是否有人成功使用 JDEdwards XMLInterop 功能。 我已经使用它有一段时间了(使用一个简单的 PInvoke,稍后将发布代码)。 我正在寻找是否有更好和/或更强大的方法。
谢谢。
Wondering if anybody out there has any success in using the JDEdwards XMLInterop functionality. I've been using it for a while (with a simple PInvoke, will post code later). I'm looking to see if there's a better and/or more robust way.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
正如所承诺的,这里是使用 XML 与 JDEdewards 集成的代码。 它是一个网络服务,但可以按照您认为合适的方式使用。
{
}
您必须向其发送如下消息:
As promised, here is the code for integrating with JDEdewards using XML. It's a webservice, but could be used as you see fit.
{
}
You have to send it messages like the following one:
对于尝试执行此操作的任何人来说,xmlinterop.dll 有一些依赖项。
您将在胖客户端上找到这些文件 ->c:\E910\system\bin32
这将创建一个“瘦客户端”
To anyone trying to do this, there are some dependencies to xmlinterop.dll.
you'll find these files on the fat client here ->c:\E910\system\bin32
this will create a 'thin client'
看到这段代码后,我将 JDE Web 服务更改为使用 XML Interop,此后我们就没有遇到任何稳定性问题。 以前我们使用的是 COM 连接器,它经常出现通信故障(可能是连接池问题?),并且正确安装和配置非常困难。
当我们尝试使用事务时,我们确实遇到了问题,但如果您正在进行简单的单一业务函数调用,这应该不是问题。
更新:详细说明事务问题 - 如果您尝试在多个调用中保持事务处于活动状态,并且 JDE 应用程序服务器正在处理适量的并发调用,则 xmlinterop 调用将开始返回“XML 响应失败”消息,并且数据库事务保持打开状态,无法提交或回滚。 调整内核的数量可能会解决这个问题,但就我个人而言,我总是尝试在一次调用中完成事务。
I changed our JDE web service to use XML Interop after seeing this code, and we haven't had any stability problems since. Previously we were using the COM Connector, which exhibited regular communication failures (possibly a connection pooling issue?) and was a pain to install and configure correctly.
We did have issues when we attempted to use transactions, but if you're doing simple single business function calls this shouldn't be an problem.
Update: To elaborate on the transaction issues - if you're attempting to keep a transaction alive over multiple calls, AND the JDE application server is handling a modest number of concurrent calls, the xmlinterop calls start returning an 'XML response failed' message and the DB transaction is left open with no way to commit or rollback. It's possible tweaking the number of kernels might solve this, but personally, I'd always try to complete the transaction in a single call.