You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsrp4j-user@portals.apache.org by Michel Alessandrini <ws...@gmx-topmail.de> on 2005/12/14 10:00:18 UTC

proxyportlet-problem

Hello,

I tried to use the delivered calcportlet over the proxyportlet. But I got 
the error message that the producer-id does not exist,
see the following log entries (on proxyportlet-side):

---
javax.portlet.PortletException: Error occured while retrieving markup
 at 
org.apache.wsrp4j.consumer.portlet.impl.ProxyPortlet.render(ProxyPortlet.java:455)
 at org.apache.pluto.core.PortletServlet.dispatch(PortletServlet.java:218)
 at org.apache.pluto.core.PortletServlet.doPost(PortletServlet.java:163)
 ...

Nested Exception is org.apache.wsrp4j.exception.WSRPException: A producer 
with this ID does not exists. Check configuration file.
 at 
org.apache.wsrp4j.exception.WSRPXHelper.getException(WSRPXHelper.java:723)
 at org.apache.wsrp4j.exception.WSRPXHelper.throwX(WSRPXHelper.java:111)
 at 
org.apache.wsrp4j.consumer.portlet.impl.ProxyPortlet.getProducer(ProxyPortlet.java:786)
 ...
---

This error message is not traceable for me because I set the producer-id 
correctly (I suppose).
I edited the configuration files as quoted below (like explained in the 
wsrp4j-project):

Host 1: tomcat with the calc-portlet and the wsrp-app:

wsrp/WEB-INF/data/portletentityregistry.xml
--------------------------------------------
<portlet-entity-registry>
  <application id="calc_1">
    <definition-id>calc</definition-id>
    <portlet id="1">
      <definition-id>calc.JSR168CalcPortlet</definition-id>
    </portlet>
  </application>
</portlet-entity-registry>


Host 2: tomcat with the proxyportlet and the wsrp-app:

proxyportlet/WEB-INF/org.apache.wsrp4j.consumer.driver.ProducerImpl@wsrp4j-1.xml
--------------------------------------------------------------------------------
<Producer id="1" registrationRequired="true">
  <registration-data>
    <consumer-name>WSRP4J Proxy Portlet</consumer-name>
    <consumer-agent>WSRP4J Proxy Portlet</consumer-agent>
  </registration-data>
  <markup-interface-url>http://localhost:8090/wsrp/wsrp4j/WSRPBaseService</markup-interface-url>
  <service-description-interface-url>http://localhost:8090/wsrp/wsrp4j/WSRPServiceDescriptionService</service-description-interface-url>
  <registration-interface-url>http://localhost:8090/wsrp/wsrp4j/WSRPRegistrationService</registration-interface-url>
  <portlet-management-interface-url>http://localhost:8090/wsrp/wsrp4j/WSRPPortletManagementService</portlet-management-interface-url>
</Producer>


wsrp/WEB-INF/data/portletentityregistry.xml
-------------------------------------------
<portlet-entity-registry>
  <application id="calc_2">
    <definition-id>proxyportlet</definition-id>
      <portlet id="2">
        <definition-id>proxyportlet.ProxyPortlet</definition-id>
        <preferences>
          <pref-name>wsrp_portlet_handle</pref-name>
          <pref-value>calc_1.1</pref-value>
          <read-only>false</read-only>
        </preferences>
        <preferences>
          <pref-name>wsrp_producer_id</pref-name>
          <pref-value>1</pref-value>
          <read-only>false</read-only>
        </preferences>
      </portlet>
  </application>
</portlet-entity-registry>


As you can see, the producer with the id "1" is defined within the 
proxyportlet. The addresses for the interfaces are correct.
If I use the calcportlet directly (without the proxyportlet) it will work 
fine.

Does anybody have a solution or an idea???

Thanks!!

regards
Michel