问题标签 [websphere-7]

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 回答
2800 浏览

java - 实例化 JPA 管理器 bean 的“正确”方法?

我正在使用 IBM RAD 开发一些 JPA 实体,并从这些实体中开发相应的 JPA Manager Bean。管理器 bean(由 RAD 生成)具有以下成员:

我不确定如何从无状态 EJB (3.0) 正确实例化(或获取对)这个管理器 bean,所以我向管理器 bean 添加了一个构造函数,我可以将EntityManagerFactory实例传递给它。EntityManagerFactory我通过使用 `@PersistenceUnit' 注释在 EJB 中获得引用,如下所示:

这似乎相当不必要,我相信必须有一种方法可以告诉容器(在我的情况下为 Websphere 7.0)以某种方式为我“引导”它,以便我立即获得对 JPA 管理器 bean 的引用。是吗?

更新: 看来我还不够详细。对此感到抱歉。

  • 涉及三个对象:JPA 实体、JPA 实体管理器和无状态 EJB。
  • JPA Entity Manager 类(不是 EJB)由 RAD 创建,并在其上具有方便的方法(命名查询)。它还定义了 member @PersistenceUnit private EntityManagerFactory emf。我知道我可以EntityManager直接使用,但我想使用 MyEntityManager 的便捷方法。
  • 我可以通过使用上述注释在无状态 EJB 中获得对 EntityManager 或 EntityManagerFactory 的引用(也像 Bozho 建议的那样)
  • 我想在无状态 EJB 中获得对 JPA Entity Manager 的引用。如果我“新建”它(new MyEntityManager()),则 emf 字段为空。解决方法是在 EJB 中声明 @PersistenceUnit 字段,然后将其传递给 JPA 实体管理器并使用它。
  • 想一想,也许我可以将 JPA 实体管理器声明为 EJB 并完成它......(尽管这似乎又是不必要的)。我认为有一种方法 PersistenceContext.getJpaManager(MyEntityManager.class) 我可能会丢失。
0 投票
2 回答
1979 浏览

java - 使用基于 j2ee 表单的身份验证限制谁可以按角色登录

我在我的 web 应用程序中使用基于声明性 J2EE 表单的身份验证,遵循各个地方给出的说明,例如这里:http: //java.dzone.com/articles/understanding-web-security

看来通过 j_security_check 登录允许领域内的所有用户进行身份验证(登录),但不检查他们的角色。授权检查似乎只在用户访问具有安全约束的页面时执行。

因此,在我的应用程序中,用户能够成功登录,因为他们在领域中,但是当他们访问安全页面时,他们会收到一条丑陋的“错误 403:授权失败”消息。

有没有办法将身份验证限制为具有特定角色的用户?或者我是否需要确保用户领域仅包含具有所需角色的用户。

在代码方面,我的 web.xml 中有这个声明:

但它没有说明所需的角色,因此导航到 login.jsp 的任何用户都可以成功登录,如果他们在范围内的话。

然后,当用户在此处访问与 url-pattern 匹配的任何页面时:

那是检查角色的时候。

角色“simpleWebAppUser”是应用程序范围的,我想在让登录成功之前检查用户是否具有此角色。

我在 Windows XP/2000/2003 上使用 WebSphere 7.0,配置为使用 O/S 用户存储库。

0 投票
1 回答
3175 浏览

shared-libraries - 在 Websphere 应用程序服务器中使用 Jython 添加对企业应用程序的共享库引用

我想以编程方式将共享库添加到我在 websphere 应用程序服务器 (WAS) 中部署的应用程序中。

我听说可以使用jython脚本。

我怎样才能做到这一点?

有人可以举一些实际的例子吗?

0 投票
0 回答
2584 浏览

websphere - Websphere - AJAX POST 请求错误

我正在使用 ajax 以 JSON 格式将数据从客户端发送到我的服务器,并收到以下错误消息。有没有其他人设法解决了这个问题?,因为似乎很多人都得到了它。

0 投票
7 回答
36258 浏览

jpa - 必须在 ConnectionDriverName 属性“如何解决它?”中指定 JDBC 驱动程序或数据源类名称。

概述:这是我的第一篇由 Websphere 7 Server & JPA 1.0 & EJB & Derby Database 编写的教程。

首先:我的数据源名称是 EJB3BANK,我的目标数据库是 SHOP。

第二:这是persistence.xml文件

第三: Item实体类的部分代码

第四:这里是业务类CartBean这里是问题的开始

这是错误消息:必须在 ConnectionDriverName 属性中指定 JDBC 驱动程序或数据源类名称。如何解决这个问题?

0 投票
1 回答
617 浏览

java - ICEFaces 1.7.2 和 Websphere Application Server 7

我们最近从 WAS6 迁移到 WAS7。我们的一个应用程序在 WAS6 中运行良好,但在 WAS7 中无法运行,并出现以下错误。

给出该错误的代码是

在 WAS6 与 WAS7 contextfactory 中调试应用程序时发现这些信息:com.ibm.faces.context.MultipartFacesContextFactoryImpl - JSF-IBM.jar - WAS7 contextfactory:com.icesoft.faces.context.FacesContextFactoryImpl - icefaces.jar - WAS6

我尝试了一些建议,例如创建共享库并将其与 EAR 相关联,并将类加载器方案从“Parent Last”更改为“Parent First”。

但无论我做什么,在 WAS7 中,我都将 MultipartFacesContextFactoryImpl 作为 contextFactory 的值。

我试图用 1.8 版本的 icefaces.jar 和 icefaces-comps.jar 替换 1.7.2。但还是一样的结果。

请帮忙。如果您需要更多详细信息,请告诉我。

0 投票
1 回答
7718 浏览

web-services - WebSphere JAX-WS 跨单元认证

我们想要构建一个前端 Web 应用程序,以使用 JAX-WS 使用 WPS 的 HumanTask API。此 Web 应用程序应该能够查询特定用户的当前任务、声明任何其他用户之前未声明的任务、完成任务等。此 Web 应用程序将部署在 WAS 7.0 上,它位于与提供 HumanTask 服务的单元不同的单元上(目前我们正在使用另一个 WPS 实例作为 WAS,但最终它将是一个没有 WPS 功能的简单 WAS)。我们通过以下步骤同步了 LTPA 生成密钥:

  1. 登录一个单元格
  2. 转到“安全”>“全球安全”。在“身份验证”下单击“LTPA”
  3. 在“跨单元单点登录”下
    1. 建立密码
    2. 确认密码
    3. 输入将导出 LTPA 密钥的文件名
    4. 点击“导出密钥”
  4. 登出
  5. 将生成的文件复制到另一台服务器
  6. 登录到另一个单元格
  7. 转到“安全”>“全球安全”。在“身份验证”下单击“LTPA”
  8. 在“跨单元单点登录”下
    1. 输入以前的密码
    2. 确认密码
    3. 使用导出的 LTPA 密钥输入文件名
    4. 点击“导入密钥”
  9. 重启服务器

我们使用 GWT 作为概念证明开发了一个简单的 Web 应用程序,它具有一个简单的 UI 和一个使用 HumanTask JAX-WS 服务的 Web 服务客户端。此 Web 应用程序受到 Siteminder 身份验证器的保护(当第一次进入 Web 应用程序时,Siteminder 代理会重定向到请求凭据的 Web 表单)。Web 服务客户端是按照 JAX-WS 标准开发的,没有添加额外的依赖项,我们依赖于 WebSphere JAX-WS 实现(Apache Axis2)。部署后,我们在没有运气的情况下测试了两个场景:

方案 A

  • 默认情况下,WPS 的 HumanTask 服务提供者附加到策略集“BPC Web 服务”,默认策略集绑定和策略集共享被禁用。
  • 我们将 HumanTask 服务客户端配置为使用与服务提供者相同的策略集。
  • 登录到自定义 Web 应用程序。当尝试查询当前任务时,我们得到以下异常:

    /li>

服务提供商端没有错误消息。

方案 B

  • 更改 WPS 的 HumanTask 服务提供者配置,通过 HTTP GET 启用策略集共享。这种方式服务提供者 WSDL 包含有关策略集的信息。
  • 更改服务客户端的策略集配置以使用 HTTP GET 从提供者获取策略集。
  • 登录到自定义 Web 应用程序。当尝试查询当前任务时,我们得到以下异常:

    /li>

在到达报告先前异常的点之前,我们在服务客户端日志中看到以下警告:

在服务提供商日志中,我们可以看到以下错误:

并且生成了一组 FFDC,报告了我们在服务客户端遇到的相同异常。

能帮助我们的人会很棒!

0 投票
1 回答
824 浏览

jsf - Websphere 7 上的 JSF 1.1

我有一个使用 JSF 1.1 组件开发的应用程序。标签库开发团队不打算支持 JSF 1.2,我们必须在 Webshere 7 上运行应用程序。作为 websphere 7,默认情况下带有 JSF 1.2。最初,我能够部署我的应用程序,但无法访问它。后来,我在某处阅读以删除“预编译 JSP”选项,我这样做了,我能够访问该应用程序。但是我遇到了一些奇怪的事情,我第一次能够登录到应用程序,但是如果我注销然后再次尝试登录,则会出现异常。例外是javax.faces.el.EvaluationException: Exception while invoking expression #{login.authenticate},其中 login 是我的 bean 名称,而 authenticate 是方法。此外,我想要一些其他方式,所以我应该选择“预编译 jsp”选项。我在某处阅读了有关共享库的信息,但不知道如何实际实现它。我的war文件包含JSF 1.1的jsf-api.jar和jsf-impl.jar。

0 投票
0 回答
271 浏览

oracle - WAS7 和 Oracle DB Kerberos 中的数据源

我在 Oracle DB 中有一个用户,该用户创建为“外部标识”并通过 Kerberos 登录。是否可以配置 WAS7 DataSource 以在此用户下建立连接?

当 Oracle 中的用户创建为“通过密码识别”时没有问题,我只是在 WAS7 JAAS J2C 身份验证数据中创建并将其设置为“组件管理的身份验证别名”。

0 投票
2 回答
999 浏览

java - 如何通过使用 Websphere 7 将环境限制为 JDK 1.5 来启动 WAR?

我想知道是否有可能在 Webpshere 7 下发起一场必须使用 JDK 1.5(不符合 JDK 1.6)运行的战争。