问题标签 [filenet-p8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1332 浏览

class - 我可以围绕使用 .NET 函数的 COM 包装 DLL 创建包装类吗?

很多人都在讨论 COM 互操作,我已经全部阅读过了。

案例 1:VB 6 或 VBA 需要使用 .NET 中的库(我有 FileNet 对象,IBM 已经创建了一个可以被 VBA 使用的 COM 包装器 DLL

http://pic.dhe.ibm.com/infocenter/p8docs/v4r5m1/index.jsp?topic=%2Fcom.ibm.p8.doc%2Fdeveloper_help%2Fupg_custom_apps%2Fce_com_api.htm

案例 2:您的 .NET 源代码需要使用 COM/COM+ 对象类,这不是我的情况。

所以我的情况是案例1。我不必处理泛型(请参阅Genetics and COM interop don't Mix,文章使用反射来解决问题,但速度很慢。现在使用C#4.0动态是去(快 100 倍) http://www.west-wind.com/weblog/posts/2007/Jul/10/Generics-and-COM-Interop-dont-mix

为什么我需要编写另一个包装器?因为 IBM 文档说由于 .NET 库的限制,不支持 ADOConnection。还有另一个功能不可用(它曾经在以前的版本中可用,所以我的 ASP 调用它)所以我必须生成我自己的。

Function FilterClassDescriptions(ByVal ObjType As Variant, Optional FilterType As Variant) As Variant

FileNet 的包装 COM DLL 使用 FNCE 的类,该类被编译成 .NET DLL。由于 .NET 不支持 ADOConnection,显然有些功能不再支持。但我的 ASP 依赖于这些功能。FNCE => FileNet 内容引擎。 FileNet ObjectStore 类

所以我围绕 COM 兼容层 DLL 创建了一个包装 VB6 类,我尝试注册活动 DLL 和活动 EXE,但是在 Excel 的 VBA 中我没有成功创建对象(myFNCE2013)(意味着我没有对象的内容) ,我确实得到了 creteObject(FNCE),因为我可以在 ObjectStore 中看到东西。那么出了什么问题呢?

我的问题是包装器坏了之后的包装器?还是因为我之前注册了相同的活动 EXE/DLL 导致问题?我用双击的方法注册,第一次看到注册成功。我有带有 SP2 的 Windows 2003 服务器,为我的 ASP 运行 IIS。 在此处输入图像描述

在此处输入图像描述

这是 IBM 对此的描述。

不支持内容引擎方法

由 Content Engine 4.x 添加到 COM 兼容层支持的对象的新方法不会在 COM 兼容层中公开。

COM API 支持但 Content Engine 4.x API 不支持的方法在 COM 兼容层接口中公开,但尝试调用这些方法将返回“不支持”错误。以下是这些方法的列表:

文件存储相关

OLEDB/ADO相关

各种各样的

如果您现有的代码使用这些 ObjectStore 属性中的任何一个,则必须基于迭代 ObjectStore.ClassDescriptions 集合或使用 ObjectStore.GetObject("ClassDescription", "") 编写自己的过滤逻辑。

这是我的调试信息。 在此处输入图像描述

感谢阅读到这里。我有一个丑陋的解决方案,但我仍然想听听你的聪明解决方案。我的丑小鸭是:不要再编写包装器 VB6 类,将代码放入 ASP 包含文件中,以便 ASP 页面可以使用这些功能,但是我没有 VB 类,因为 ASP 包含文件不允许这样做。这些包含文件应该能够直接调用 COM 对象。但是将类对象分解为非 OOP 功能代码?我们对类对象的思考非常舒适,非 OOP 编程对我来说似乎很简单。

所以没有更多的类启动,我的 ASP 不能调用对象属性或函数。

0 投票
1 回答
1341 浏览

filenet-p8 - 在启动步骤中获取系统字段

我需要在启动工作流之前获取系统字段,以使它们可供用户设置。F_subject 和 F_Comment 等字段

在上面的代码中使用了在工作流定义上调用 getFields 方法,它只返回 F_trackers

我可以通过硬编码来制作这些字段,但我不喜欢那样。需要这方面的帮助

0 投票
1 回答
823 浏览

filenet-p8 - 在哪里存储 objectstore 和 vwsession 对象

我目前正在为 filenet 制作一个 Web 应用程序,我目前正在通过调用静态类中的方法来获取 objectstore 和 vwsession 对象。

每次我调用这些方法时,它再次获得连接,我可以将这些对象存储在 httpsession 中,但这些对象很重,这可能是个问题。

从哪里获取这些对象或存储这些对象的最佳方法是什么

编辑:我正在使用 java 并使用 filenet 4.x

0 投票
2 回答
7193 浏览

java - 在 Websphere Application Server 上运行基于 Filenet 的 Web 应用程序时出现凭据异常

我开发了一个 REST 服务,可以从内容引擎存储中检索数据。为简单起见,我创建了具有只读权限的用户帐户并将其用于 CE 授权,使用以下代码:

在开发过程中,我在本地 Tomcat 服务器上测试了我的服务,一切正常。现在我已经在 ContentEngine 所在的 Websphere Application Server 上部署了该服务,当我尝试访问我的 REST 服务时,出现以下异常:

错误 500:org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常是 com.filenet.api.exception.EngineRuntimeException: FNRCS0005E: SECURITY_INVALID_CREDENTIALS: 不允许访问内容引擎,因为内容引擎 API 库或 Web 服务接口 (WSI) 侦听器找不到所需的安全上下文信息。在安全上下文中找不到预期的凭据。

WAS 是否需要任何额外的配置才能使这种方法起作用?或者也许存在解决授权问题的更好方法?

0 投票
4 回答
950 浏览

java - IBM FileNet P8 Java API 与 Android 的集成?

IBM FileNet P8 提供 Java API 来处理内容引擎 (CE)

http://pic.dhe.ibm.com/infocenter/p8docs/v5r1m0/index.jsp?topic=%2Fcom.ibm.p8.ce.dev.cews.doc%2Fconcepts%2Fintroduction.htm

我的问题是:这些 API 是否与 Android 兼容?我可以在我的 Android 应用程序中使用这些 API 吗?如果没有,还有其他选择吗?

0 投票
1 回答
1225 浏览

filenet-p8 - 如何在工作流中使用自定义组件?

我想创建一个自定义组件来创建所需系列中的一些文件夹。我有完成这项工作的java代码并且运行良好。但是部署后我无法使用该组件。我面临的问题是我无法在工作流程中选择这些方法。

如果我部署一个没有任何支持 jar 文件的简单组件,它就可以正常工作。

  1. 如何添加带有支持 jar 的组件?
  2. 如何在不重新初始化整个隔离区域的情况下移除旧组件?

提前致谢。

0 投票
1 回答
6178 浏览

java - 与 FileNet 内容引擎交互的 Web 服务中的 JAAS 授权

我有两个应用程序在 WAS 7.0 服务器的单个实例中运行,其中一个是 IBM Business Space(在这种情况下无关紧要,但无论如何),另一个是我正在开发的 RESTful 服务。这两个应用程序都与 FileNet 内容引擎交互。我知道 Business Space 使用 JAAS 来利用身份验证和授权任务,我的服务也是如此。要求是,在访问服务时,使用已经登录到业务空间的用户的安全令牌从服务内执行对 FileNet 的请求。我对 JAAS 机制没有深入了解,可能会出错,但快速谷歌搜索说可以获取登录用户的 JAAS 主题并将其传递给我的服务的 UserContext。我正在使用的代码如下:

对应的 JAAS 配置文件:

我有以下问题:

  • 如果我不想提示用户输入凭据(如果他尚未登录到 Business Space 应用程序),我是否应该将回调处理程序传递给 LoginContext 构造函数?
  • 我是否必须调整任何 WAS 设置才能使此方案正常工作?

更新

我已经设置:

  • web.xml 中的 BASIC auth 方法使用特定于浏览器的对话框提示用户输入凭据
  • jaas.conf 文件的路径,指定要使用的 LoginModule 类的实现

当我测试此解决方案时,它失败并出现以下错误:

javax.security.auth.login.LoginException:错误:没有可用于获取身份验证信息的 CallbackHandler

如果回调授权成功,这意味着由于某种原因服务无法检索所需的 JAAS 主题。

我错过了什么?


另外,我在 IBM 网站上看到了以下声明:

EJB 传输层固有的优势之一是能够利用基于 Java™ 身份验证和授权服务 (JAAS) 的身份验证。

但是,它并没有说明在使用 WS 传输时不可能利用 JAAS。或者是吗?

0 投票
1 回答
293 浏览

filenet-p8 - 使用 CSV 更新 FileNet 中的记录

我有一个行数未知的 csv 文件:

请注意,在上面,我有一个重复的 3 条记录,其中id=123salary=10000

在 FileNet 我有以下记录:

请注意,上面我有 3 个重复项,一个带有状态success,2 个带有failure状态。

我的要求是我必须将我的 csv 文件中的一行与 FileNet 记录逐一进行比较,按顺序排序,如果任何具有相同 id 和薪水的行与 FileNet 中的记录匹配(使用idsalary字段完成查找),我需要将时间和状态更新为success

(123,abc,manager,10000,12:30)例如,上面 csv 文件中的一行与(123,abc,manager,10000,failure,2,0)FileNet 中的一条记录。

FileNet 中的最终结果应该是:

注意:插入第一行
(123,abc,manager,10000,12:30)应该更新 FileNet 记录 (123,abc,manager,10000,failure,2,0)
第四行
(123,abc,manager,10000,14:15)应该更新 FileNet 记录(123,abc,manager,10000,failure,3,0)
第三行
(789,tuv,junior,5000,09:15)应该更新 FileNet 记录(789,tuv,junior,5000,failure,1,0)

另请注意,csv 文件中还有最后一行 (123,abc,manager,10000,15:35),它不会更新 FileNet 中的任何记录,因为这些记录在 FileNet 中按顺序更新。

我希望要求是明确的。请帮忙,因为我是 FileNet 新手。

0 投票
1 回答
342 浏览

java - 如何在 WebSphere 外部正确存储 Jar 库?

我想让我的 EventHandlers 存储在自定义文件夹中,而不是 CodeModule 中。我有 WebSphere 7.0,所以我将 JVM 的 ClassPath 值设置为“C:\jar”(不带括号),并将我的 Test.jar 放在那里。现在我想在没有定义 CodeModule 的情况下创建 EventAction,但我仍然有“无法从关联的代码模块或系统类路径加载事件处理程序类:”错误,我做错了什么?

解决了!为每个 .jar 设置单独的文件路径很重要(例如“C:\jar\Test.jar”)。

0 投票
2 回答
2370 浏览

filenet-p8 - 无需额外往返即可获取对象存储属性

我正在使用 IBM FileNet CE API 5.1 并面临性能问题,因为循环中的额外刷新具有很大的迭代量(25000+)。这是代码示例:

问题是,刷新之前的 objectStore 对象根本没有任何缓存属性,甚至对象标识(如果我有我可以创建对象存储缓存以避免在每次迭代中刷新)。

文档可能有不同的对象存储(我正在搜索多个对象存储)。