问题标签 [websphere-portal]
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.
scripting - 使用 Websphere Portal 脚本界面需要什么?
我的问题
在过去的几周里,我不得不多次更改 Websphere Portal 中的一些配置设置。现在变得很无聊,我想用一个小脚本来代替自己。
我需要访问“管理页面”部分并启用/激活一些内容节点。
- 登录
- 导航到管理页面
- 搜索一个唯一的名字
- 单击激活/*停用* 链接
- 确认对话框
- 登出
我想为这个任务编写脚本
我为此创建了一个 Selenium 脚本,但这仍然涉及打开 Firefox,将 Selenium 脚本加载到 Selenium IDE 中,提供密码(因为当我将其保存到脚本中时我觉得很脏)并在所有 3 个集群上运行它。
我阅读了有关 Portal 脚本的信息,我想尝试一下。但不幸的是,我的机器上只安装了 Websphere Application 服务器,因此只有wsadmin.bat/sh可供我使用。
运行 Websphere Portal 脚本需要什么?
我需要使用一个脚本wpscript.bat/sh 。我必须在本地机器上安装Websphere Portal吗?有没有我可以使用的最小设置?我可以复制一些 JAR 并继续吗?
spring - Spring 2.5.6/WPS 6.1:输入字段中的 < 变成映射字段中的 <
我的一个朋友让我看看他正在开发的一个 portlet。他遇到的问题是,当他输入一个像
1 < 2 > 3
在他得到的输入字段中
1 < 2 > 3
在映射的字符串字段中。
虽然他的代码中有相当一部分是可疑的,但我找不到他使用.replace
函数/设置defaultHtmlEscape
为 true 的任何实例。
我确实调试了他的portlet,它甚至在它进入控制器之前就已经改变了。我在 Springs dispatcherportlet 中放置了一个断点,并且在 processAction 中它已经被转换了。
>
<
只有在它之前才被解析,<
所以它很可能是一个转义问题,因为它被作为一个 html 标签处理,但我找不到任何影响它的代码。
我对 Spring 2.5.6(我使用版本 3)不太熟悉,但我不记得有任何类似的问题。这可能是 websphere 门户 6.1 的问题,但这会让我感到惊讶,因为我找不到任何类似的问题。(我明天将尝试制作类似的场景)。
任何输入将不胜感激。
(spring 2.5.6-SEC02,没有最新功能包的 WebSphere Portal 6.1)
struts2 - 在 IBM WP 6.1.5 上使用 JSR 286、Struts 2.2.0 + PortletPlugin 2.2.0 从门户下载文件 p
我正在使用 JSR-286 + Struts 2.2.0 + PortletPlugin 2.2.0
我无法为用户想要下载的文件设置名称。用户可以获取文件,但其名称已损坏。而不是“myImage.png”用户得到“241883e9”或“241563a2”。如果用户重命名下载的文件并打开它,他可以看到文件没有损坏。请看我的代码:
文件列表.jsp:
函数“goToAction”动态生成并提交它(我已经尝试过:POST和GET,它没有帮助。):
我的 struts xml 配置文件:
和一个动作代码:
我从未在我的日志文件中看到这条 LOG 行: LOG.trace("#getFileName {}", attachement.getName());
但我看到
[25.01.11 23:26:46:582 MSK] 00000052 srt W com.ibm.ws.webcontainer.srt.SRTServletResponse setHeader 警告:无法设置标头。响应已经提交。
好像我不能为响应设置标题... :(
我做错了什么?请帮忙。
UPD:我找到了部分解决方案:我已将此代码添加到我的操作中:
问题出在文件名上:如果它包含非 ascii char 文件名已损坏。文件名如:“my file.doc”、“02.png”可以正常工作。
authentication - Websphere 7 Portal:Servlet 检查门户的登录状态?
我运行一个 WebSphere 7.0 门户。必须登录才能查看适用于所有 portlet 的任何信息。但另外还有几个 servlet 部署在同一个 war 文件中,它们为 AJAX 脚本生成一些原始数据。
目前,如果知道该特定 servlet 的 URL,则可以绕过来自 WebSphere Portal 的身份验证。我想更改它并检查用户当前是否登录到门户。我该怎么做呢?我试过((PumaHome) new InitialContext().lookup(new CompositeName(PumaHome.JNDI_NAME))).getProfile().getCurrentUser();
了,但这返回null。
websphere - PA_WCMLocalRendering 缺失
安装了带有 WCM 的门户 7,缺少 WCMLocalRendering ...有什么想法吗?
user-management - 在 WebSphere 7 (Portal) 中创建用户组作为子组
在 websphere 7 门户服务器上运行的 portlet 中,我想创建一个新用户组,它是现有组的子组。
这是代码(我尽可能缩短以保持焦点):
调试语句打印:
使用 cn=[groupCn], parentDn=cn=[CN_OF_GROUP],o=defaultWIMFileBasedRealm 创建新组
该代码确实创建了一个组。但看起来 parentDN 参数被忽略了。该组不是作为父组的子组创建的,而是作为顶级组创建的。(如果我将 null 作为 parentDn 传递,会发生同样的事情)。
我在这里做错了什么?
ajax - Websphere Portal 7 中跨站点 Ajax (JSON) 调用的代理配置
首先,我通常是门户网站开发的新手,因此以前没有使用 Websphere Portal 的经验。注意:网址已更改以保护无辜者。
我在 Websphere Portal 7 上有一个 portlet,我试图在其中对另一台服务器进行 Ajax 调用(在本例中为 POST)。我知道我必须创建代理配置并连接 ProxyServlet,以便 Portal 允许跨站点 ajax 调用,我已经做到了。但是,在调用代理服务时,我收到了 403 Forbidden 消息。
这是我的代理配置.xml:
这是 web.xml 中的 ProxyServlet:
这是我试图从 javascript(通过 jQuery)调用的 URL:
我目前收到 403 Forbidden “不允许您尝试通过代理访问的 URL”错误消息。这是 Firebug 显示 portlet 正在命中的 URL(似乎是正确的): http://portalsubdomain.domain.org:77777/wps/proxy/https/subdomain.domain.org/ss/services/service1。
根据 wp7 的代理文档,我知道 403 意味着以下之一:
- 该请求未被代理接受,即代理未找到授予目标服务器访问权限的匹配访问策略。
- 基本身份验证失败。
它应该找到代理策略,因为我已经为所有 URL 定义了它,所以我错过了什么?我想我要么没有正确配置代理策略(身份验证?),要么我没有正确构建 JSON 调用中的 URL。我查看了“规则”格式,但未能提出可行的解决方案。
有几点需要注意:
- 这个 portlet 在另一个页面的子页面上,dojo 是我们创建的自定义主题的一部分
- 我们正在使用 LDAP 登录门户,所以不确定这是否也有什么不同。运行此程序时,我正在使用门户管理员权限登录。
- 正在加载 portlet 的页面(以及页面/空间结构)的 URL 是http://portalsubdomain.domain.org:77777/wps/demoportal/home/demo/ajaxTest。不确定代理在寻找什么,但 proxy-config.xml 位于我的 portlet 的 WEB-INF 文件夹中。
- 如果我将 JSON 调用中的 URL 更改为 wps/demoportal/home/demo/ajaxTest/proxy/https/subdomain.domain.org/ss/services/service1,我将获得 ajaxTest 页面的 HTML 作为回报。
websphere-portal - 我们可以让 websphere 门户 CSA 和 spring MVC3 一起工作吗?
我用 spring mvc 3 框架创建了一个 portlet(jsr286)。如果页面具有 SSA(服务器端聚合),则工作正常,但是在使用 CSA(客户端聚合)时它会停止工作。
我正在使用 WPS 7.0 RAD 8.0.1 和 spring 3.0.1。任何建议都会非常有帮助。提前致谢!
我得到的错误:[2/8/11 18:09:41:750 IST] 00000037 PortletInvoke W com.ibm.wps.wsrp.producer.provider.pc.waspc.impl.PortletInvokerImpl newBlockingInteractionResponse 操作执行被拒绝,原因是违反安全规定。缺少操作 ID。[2/8/11 18:09:41:781 IST] 00000037 WSRPEngine E com.ibm.wps.wsrp.producer.impl.WSRPEngine performBlockInteraction EJPWC1109E: 操作的正常执行失败。com.ibm.wps.wsrp.exception.WSRPException: EJPWC1109E: 操作的正常执行失败。
jquery - WebSphere Portal 6.1 中对 GenericPortlet.serveResource() 的 Ajax 调用
我正在尝试使用 jQuery/ajax 调用 portlet 的 serveResource() 方法。我设法在 Pluto 2.0 中获得了一个简单的 JSR-286 portlet,它能够从请求正文中读取 JSON 字符串,从 JSON 创建一个 Java 对象,并将该对象的 toString() 返回给我的调用 JavaScript。但是,当我将*相同的 portlet 部署到 WebSphere Portal 6.1 时,请求正文在到达 serveResource() 时为空。
我假设我缺少一些基本/基本的东西,所以任何建议都将不胜感激。如果我将 JSON 字符串推送到 URL 参数上,我想我可以让我的示例工作,但现在更愿意避免这种方法,除非我给出了我当前方法“不好”的原因。
编辑:*更具体地说,我将相同的 portlet 部署到运行 WSRP Producer 并通过 WebSphere Portal 6.1 使用该 portlet 的 WAS7。
Javascript代码段:
小门户片段:
java - 找不到 tld 文件,tld 在共享库中
我正在尝试将应用程序发布到门户服务器上,由于无法在 WEB-INF 目录中找到 .tld 文件,因此发布失败。
tld is 文件实际上不在 WEB-INF 目录中,我们将 tld 文件用于另外 20 个应用程序,因此我们将它与其他一些 jar 放在共享库中。
我如何告诉 RAD 在尝试将共享库发布到我的服务器时检查它?或者我如何告诉它忽略 tld 文件,因为我的应用程序在启动时会加载 tld 文件。
任何帮助表示赞赏。