0

我正在为 Cognos 10 创建一个 CAM(自定义身份验证模块/提供程序)。

各种加密信息从查询字符串传递到提供程序。然后,命名空间的身份验证过程被设计为与 Web 服务对话,以验证加密信息没有被篡改,并确保用户在身份验证应用程序中的“会话”没有过期。

身份验证应用程序使用 .NET 并公开 Web 服务以用于 SOAP 请求(我相信是 1.1 和 1.2)。我将 wsimport 指向 wsdl 并生成一组类,这些类在我构建标准 Java 控制台应用程序并传递调试值时工作。

当我将此代码添加到我的命名空间类并尝试对 Web 服务的请求时,我从 Cognos 收到此错误:

com.sun.xml.internal.ws.spi.ProviderImpl(初始化失败)

我以为 Cognos 10 使用的是 JDK 1.6。我正在用 1.6(64 位 JDK)开发我的 CAM 代码。我应该运行 64 位 Cognos,但我不知道它是否使用 32 位 JDK。32 位与 64 位之间可能存在的差异会导致问题吗?

关于为什么从 wsimport (JAXWS) 生成的类在 Cognos 中不起作用的任何线索?有没有解决的办法?

4

1 回答 1

0

我将把它标记为已回答,但我会提出警告,我没有对此进行测试。

在尝试让第 3 方库与我的 CAP/CAM 一起工作后,我发现 JAXWS 无法正常工作的原因是因为 Cognos 没有将其包含在其 Java 发行版中。

在尝试使用 Microsoft 的 JDBC 实现与 SQL 服务器对话以进行名称空间搜索时,我遇到了与上述类似的错误。这使我相信 JAXWS 也存在同样的情况。

我四处寻找应该包含需要存在的类的 jar 文件。我没有看到任何与 1.6 相同的 jar 文件。除非 Cognos 确实不支持它,否则我认为在 WEB-INF/lib 文件夹中包含 JAXWS 的 jar 文件将允许使用 JAXWS 进行 Web 服务通信。

于 2011-06-10T12:56:34.273 回答