全部,
我们目前开发了一个通过 JCO v3.0 API 与 SAP 通信的 Java 客户端应用程序。在调用多个 BAPI 函数的有状态调用期间,我们使用 JCoContext 类来建立有状态会话。我们在执行 JCoFunction 之前调用 JCoContext.begin(),并在所有函数完成后在 finally 块中调用 JCoContext.end()。
问题出现在 JCoContext.end() 上。它可能会引发 JCoException。文档不是很清楚为什么会发生异常或如何处理它。在测试中,当将 NULL 目标传递给 JCoContext.end() 方法时,我已经能够观察到异常。虽然这可能发生,但它绝对不会出现在我们的生产代码中。所以问题仍然存在,是否还有其他原因会引发异常?
此外,如果未调用 JCoContext.end() 方法,我观察到了奇怪的行为。在这些情况下,我看到后续 BAPI 调用未成功完成。这向我表明,如果 end() 方法没有成功完成,它可能会使 JCo 处于错误状态。那么,我们应该如何处理这里发生的异常。作为开发人员,我有什么追索权?看来我唯一的保证就是关闭程序。
有什么想法可以告诉我,谢谢
保罗·曼宁