当前位置: 首页 > 知识库问答 >
问题:

Liferay和WSRP portlet:WSRP消费者上的错误URL

洪捷
2023-03-14

目前,我正在查看Liferay及其portlet功能,尤其是通过WSRP的远程portlet。

我有两个liferay实例在同一网络中的不同机器上运行。现在我想将一个portlet从一个liferay实例共享到另一个实例,因此我在两个安装上都安装了WSRP应用程序,并将其中一个节点配置为WSRP生产者,另一个节点配置为WSRP消费者。我的WSRP制作人发布了包含在Liferay中的用于货币计算的portlet(德语为Währungsrechner)。乍一看,这个WSRP portlet似乎在WSRP消费者端工作——我可以将其添加到WSRP消费者的页面,并且其内容(一些输入框)显示正确。

但有一个问题:

portlet呈现的HTML表单总是提交给WSRP生产者的域,而不是我所期望的WSRP消费者的域。标记的action属性包含错误的域名。

我还使用LiferayUI编写了一个用于调试目的的小portlet,它只是打印JSP-Tag的输出,将其安装在WSRP生产者上并将其嵌入到WSRP消费者的页面中。这个简单的调试portlet打印的URL始终是绝对的URL,并指向WSRP生产者,即使portlet显示在WSRP消费者上。我预计URL要么是相对的,要么它们指向正确的域,例如,当portlet通过WSRP消费者eliay实例上的页面显示时,指向WSRP消费者域。

我评估Liferay的原因是,我们想检查它是否是开发portlet的合适解决方案,并通过WSRP提供这些portlet以供远程使用。为了进一步调查问题,我已经使用LiferaySDK和Eclipe插件构建了一个小型调试portlet。portlet主要由一个简单的JSP页面组成,该页面打印出以下结果:


    <%@ taglib uri="http://liferay.com/tld/portlet" prefix="liferay-portlet" %>
    <span class="important"%>portlet:actionURL: </span><portlet:actionURL/%>

当我在lifery上安装这个portlet时。我的公司。net并通过WSRP制作人将其发布到liferay-2。我的公司。net中,输出URL为:


    http://liferay.mycompany.net:8080/de_DE/widget/web/wsrp-achimstestproducer/portlets?p_auth=0iLgJP7e&p_p_id=sbdebug_WAR_sbliferaydemopluginportlet_INSTANCE_qs2S&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view

请注意,该域是liferay。我的公司。net而不是预期的liferay-2。我的公司。网

我该怎么解决这个问题?我是否需要调整Liferay的配置,以便WSRP使用者使用自己的URL替换来自WSRP Portlet的URL?还有其他因素会影响WSRP Portlet和ActionURL吗?在此问题上的任何帮助都将不胜感激!

我的设置是:-Liferay 6.2 CE with Tomcat 7-数据库是MySQL 5.5-OracleJava7-Liferay配置了内置安装向导

提前谢谢!

2014-05-23:这里有更多信息

我还把这个问题和一些额外的信息发布在瑞丽的论坛上:

--

我做错了什么吗?欢迎任何想法和提示!

共有1个答案

郑功
2023-03-14

使用瑞利的论坛后,网络上的其他几个WSRP资源和搜索引擎现在都可以工作了。

以下三点似乎是我遇到WSRP问题的主要原因:

>

  • 必须显式将要求-命名空间参数设置为false
  • 必须停用CSRF令牌,我已经通过init-参数在portlet-xml中执行了此操作:

    <init-param>
      <name>check-auth-token</name>
      <value>false</value>
    </init-param>
    

    在事件处理方法中创建渲染参数时,渲染参数似乎在视图JSP中不可用,因此我切换到portlet会话属性以将数据从portlet类传输到JSP视图

  •  类似资料:
    • 我正在使用一个Kafka产品和一个SpringKafka消费者。我正在使用Json序列化器和反序列化器。每当我试图从主题中读取消费者中的消息时,我会得到以下错误: 我没有在生产者和消费者中配置任何关于头的内容。我错过了什么?

    • 是否有一种方法以编程方式访问和打印使用者滞后偏移,或者说使用者读取的最后一条记录的偏移与某个生产者写入该使用者分区的最后一条记录的偏移之间的位置差。 要知道我的最终目标是将这个值发送到prometheus进行监视,我应该在上面添加哪些语句来得到滞后偏移值?

    • 我对kafka和kafka-python相当陌生。安装kafka-python后,我从这里尝试了一个简单的消费者代码实现-http://kafka-python.readthedocs.io/en/master/usage.html 我一直在kafka的bin目录中编写消费者代码,并尝试从那里运行python代码。但是,我遇到以下错误: 回溯(最近一次调用):文件 “KafkaConsumer.p

    • 我是Kafka的新手,我对消费者的理解是,基本上有两种类型的实现 1)高级消费者/消费者群体 2)简单消费者 高级抽象最重要的部分是当Kafka不关心处理偏移量,而Simple消费者对偏移量管理提供了更好的控制时使用它。让我困惑的是,如果我想在多线程环境中运行consumer,并且还想控制偏移量,该怎么办。如果我使用消费者组,这是否意味着我必须读取存储在zookeeper中的最后一个偏移量?这是我

    • Flink kafka消费者有两种类型的消费者,例如: 这两个消费者层次结构扩展了相同的类。我想知道维护编号类背后的设计决策是什么?我们什么时候应该使用其中一种? 我注意到带有数字后缀的类有更多的特性(例如ratelimiting)。 https://github.com/apache/flink/blob/master/flink-connectors/flink-connector-kafka

    • 本文向大家介绍消费者和消费者组有什么关系?相关面试题,主要包含被问及消费者和消费者组有什么关系?时的应答技巧和注意事项,需要的朋友参考一下 每个消费者从属于消费组。具体关系如下: