Inter-Portlet Communication Doesn't work with Eventing

Hi All!
According to the document Adding "Parameters and Events to Portlets"
http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/PDK/ARTICLES/adding.parameters.events.to.portlets.html
you can use Events, Page and Portlet-Input parameters to send a message from one portlet to another. I have two
portlets one of them is showing contents with a certain ID and LanguageID and the another one shows a sitemap.
Now I want to send the ID and LagngID to the contetn portlet as soon as I click on a link on the sitemap.
So this is what I've done:
1.) Definition of Input-Parameters and Events in provider.xml. The content portlet
has two input parameters for receiving informations about ID anf LangID
<portlet class="oracle.portal.provider.v2.DefaultPortletDefinition">
<id>20</id>
<name>pbContent</name>
<title>pirobase Content</title>
<acceptContentType>text/html</acceptContentType>
<inputParameter class="oracle.portal.provider.v2.DefaultParameterDefinition">
<name>menuID</name>
<displayName>Input Parameter for pirobase menu ID</displayName>
<description>Input Parameter for pirobase menu ID</description>
</inputParameter>
<inputParameter class="oracle.portal.provider.v2.DefaultParameterDefinition">
<name>langID</name>
<displayName>Input Parameter for pirobase language ID</displayName>
<description>Input Parameter for pirobase language ID</description>
</inputParameter>
<renderer class="oracle.portal.provider.v2.render.RenderManager">
<renderContainer>true</renderContainer>
<contentType>text/html</contentType>
<showPage>/htdocs/pirobase/pbcontent.jsp</showPage>
     <pageParameterName>next_page</pageParameterName>
</renderer>
</portlet>
The Sitemap Portlet has an evend sending the two parameters
<portlet class="oracle.portal.provider.v2.DefaultPortletDefinition">
<id>21</id>
<name>pbSitemap</name>
<title>pirobase Sitemap Portlet</title>
<shortTitle>pirobase Sitemap</shortTitle>
<event class="oracle.portal.provider.v2.DefaultEventDefinition">
     <name>changePirobaseContentPage</name>
     <description>Change the pirobase menu displayed in this portlet</description>
     <parameter class="oracle.portal.provider.v2.DefaultParameterDefinition">
          <name>menuID</name>
          <displayName>menuID</displayName>
          <description>The menuID of the new page</description>
     </parameter>
     <parameter class="oracle.portal.provider.v2.DefaultParameterDefinition">
          <name>langID</name>
          <displayName>Language ID</displayName>
          <description>The language of that should be displayed</description>
     </parameter>
</event>
<renderer class="oracle.portal.provider.v2.render.RenderManager">
<contentType>text/html</contentType>
<showPage>/htdocs/pirobase/pbsitemap.jsp</showPage>
<pageParameterName>next_page</pageParameterName>
</renderer>
</portlet>
2.) In addition to that I have defined to page variables on the page the two
portlets are located. Then I've associated the input parameters of the content
portlet to the page parameters and the also the event parameters of the
sitemap portlet.
3.) Within the sitemap JSP I use this code to create the event link
String getEventUrl (HttpServletRequest request, long menuID,
int langID){
PortletRenderRequest prr = (PortletRenderRequest)
request.getAttribute(HttpCommonConstants.PORTLET_RENDER_REQUEST);
String eventName = "changePirobaseContentPage";
String eventParamID = EventUtils.eventParameter("menuID");
String eventParamLang = EventUtils.eventParameter("langID");
oracle.portal.utils.v2.NameValuePair[] eventParams =
new oracle.portal.utils.v2.NameValuePair[2];
eventParams[0] = new NameValuePair(eventParamID, ""+menuID);
eventParams[1] = new NameValuePair(eventParamLang, ""+langID);
try {
return EventUtils.constructEventLink(prr,eventName,
eventParams,
true,
true);
} catch ( PortletException pe ) {
makeErrLog ("Could not create event URL for pbContent Portlet!",
pe);
return "";
4.) Within the Content JSP file I use this code to get the page parameter
menuID = portletRequest.getParameter("menuID");
But Actually nothing happens :-( It seems that the event never arrives to the page. Does anyone
know what I am doing wrong here?

When the event parameters are to be posted to the same page, make
sure you have selected the current page in "Go to page" option when
the event is raised.
For a more detailed answer, have a look at the following thread -
Problem with DELETE
-AMJAD.

Similar Messages

  • IP Communicator doesn't work with Cisco VPN Client

    Hi,
    Im having problem to connect  IP Communicator (either ver 2 or 7 )whenever using Cisco VPN Client 5.0.06.0160 for windows
    the IPC didn't register to the CUCM
    There's nothing showing on the screen
    but whenever im using  Anyconnect VPN Client, it works perfectly
    The remote side is using ASA5505
    Anyone can help ??
    Thanks

         It's probably an issue with the ASA configuration in your "group-policy attributes".  The "split-tunnel-network-list value" is pointing to an access list without the subnet for the call manager.  While your ssl group-policy for webvpn has a "split-tunnel network-list value" access-list which does contain the subnet for the call manager.
         The other issue could be that your using different ip pools for ipsec and ssl vpn.  The ip pool subnet that you might be giving out for ipsec might not be in your "no nat" acl.
    Jason

  • Event interface for inter-portlet communication

    In which jar file can I find the com.bea.netuix.events.Event interface?
    I wish to offer some support for inter-portlet communication while running inside a 8.1sp4 weblogic portal server.
    Firstly, there is almost no documentation for working with Custom/Generic Events and definitely none for working with "Invoke a java portlet method"
    Found out by decompiling the code that you can do the following:
    add methodName(HttpServletRequest, HttpServletResponse, Event) to you backing file, or
    add methodName(ActionRequest, ActionResponse, Event) to your java portlet
    In both cases, I need find the jar file containing the "Event" interface. Have found most of the other classes in netuix_servlet.jar
    Would also appreciate any further info on when the above methods actually get called with respect to the "processAction" and "processRender" methods for jsr168 portlets...

    Found the answer after a pretty manual search - its located inside:
    BEA_HOME/weblogic81/portal/lib/netuix/system/netuix_system.jar
    All other interfaces being inside the WEB-INF/lib/netuix_servlet.jar, this one class from this package has been packed into a jar at the system classpath level!!
    Had to manually look at the classpath in startWeblogic.cmd and then open up every jar file, follow dependent jar files via the manifest.mf etc...

  • Inter portlet Communication - Events and Parameters

    Hi,
    I just tried a sample inter portlet communication using events and parameters.
    I used the below code to enable inter portlet communication between two struts portlet.
    UrlUtils.constructLink etc
    The above works fine. Instead of link, I would like to use a form button to fire the event.
    Is there any way of using button to fire the event.
    Another thing I noticed is that when the event is fired the page gets refreshed.
    How to enable inter portlet communication without the portal page refreshing.
    Many Thanks in advance!!!!!!!!
    -Chid

    Hi Natu,
    To start: read the documentation: http://download.oracle.com/docs/cd/B32110_01/webcenter.1013/b31074/jpsdg_java_adv.htm#CHDHDCGI
    Then, you need to make sure the portlets can operate independently. That means: the locations portlet should be able to run without the incidents portlet.
    What you should try to achieve is create a locations jspx that uses a page parameter with the incident number as input. The page can then be populated based on that id.
    The key thing here is: input portlet variables are available as page parameters.
    Then, you need to add some functionality to the incidents portlet to submit the selected incident number to the outside world. You can do this using some backing bean code. Example:
        public void transmitEvent(ActionEvent actionEvent) {
            FacesContext facesContext = FacesContext.getCurrentInstance();
            ExternalContext externalContext = facesContext.getExternalContext();
            Object response = externalContext.getResponse();
            if (response instanceof javax.portlet.ActionResponse) {
                ActionResponse actionResponse = (ActionResponse)response;
                // setting the portlet OUT parameter
                String outResult = "my output";
                actionResponse.setRenderParameter("outParam",  outResult);
           } else {
                // not in portlet environment
        }Hope this brings you further.
    Jeroen van Veldhuizen

  • Inter Portlet communication without using workshop

    Hi
    Does any one have any luck trying to do inter portlet communication without using weblogic workshop IDE?

    Hi Curt,
    WLP's eventing system is designed such that portlet's don't have to care
    whether the source/destination is local or remote. If you have a portlet
    that fires/consumes events, when you create a proxy portlet on a
    consumer, the portlet on the producer will be able to fire and receive
    events without any changes to it. In this scenario, the proxy portlets
    work with the WLP's event runtime to collect and dispatch events on
    behalf of portlets on the producer. Going forward, WSRP 2.0 and
    JSR168-next's eventing models will be mapped to the same WLP event runtime.
    Subbu
    Curt Smith wrote:
    Thanks Subbu for your enlightenment here and in this group!!
    You mentioned my next quest, WSRP'ifying my portlet & IPC system.
    Can you suggest an WSRP example anywhere on the net or in bea?
    I guessing that suitability of IPC is also a function of whether the portlets are the remote portlets or the local portlets.
    Might a non-Bea IPC choice be usable within the local portlets, which are WSRP clients to stand alone remote portlets?
    I can imagine now that you mention it that the remote WRSP producer portlets can't use just any IPC facility and the events be pushed inband to the consumer portal...
    tnx curt

  • Horizontal scrolling doesn't work with ItemsStackPanel in ListView(GridView)

    Hi,
    In Win 8.1 App Store Project I have a ListView with fixed width and listen for ContainerContentChanging event because of performance issues.
    When ListView width is less than content width, horizontal scrolling doesn't work. If we change ItemsStackPanel to VirtualizingStackPanel, horizontal scrolling works fine. But ContainerContentChanging doesn't work with VirtualizingStackPanel.
    Is it possible to make horizontal scrolling work with ItemsStackPanel?
    Here simple example to reproduce this problem:
    <Page
    x:Class="App8.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:App8"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
    <Page.Resources>
    <DataTemplate x:Key="ContinuousViewItemTemplate">
    <Border Width="800"
    Background="Green"
    Margin="10"
    Padding="5">
    <Border x:Name="root" Height="800" Background="{Binding}"/>
    </Border>
    </DataTemplate>
    <Style x:Key="ListViewStyle1" TargetType="ListView">
    <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Visible"/>
    <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Enabled"/>
    <Setter Property="ItemTemplate" Value="{StaticResource ContinuousViewItemTemplate}"/>
    </Style>
    </Page.Resources>
    <Grid>
    <Grid.ColumnDefinitions>
    <ColumnDefinition Width="100"/>
    <ColumnDefinition Width="500"/>
    <ColumnDefinition/>
    <ColumnDefinition Width="500"/>
    <ColumnDefinition Width="100"/>
    </Grid.ColumnDefinitions>
    <ListView Style="{StaticResource ListViewStyle1}" Grid.Column="1">
    <SolidColorBrush Color="Red"/>
    <SolidColorBrush Color="Cyan"/>
    </ListView>
    <ListView Style="{StaticResource ListViewStyle1}" Grid.Column="3">
    <ListView.ItemsPanel>
    <ItemsPanelTemplate>
    <VirtualizingStackPanel/>
    </ItemsPanelTemplate>
    </ListView.ItemsPanel>
    <SolidColorBrush Color="Red"/>
    <SolidColorBrush Color="Cyan"/>
    </ListView>
    </Grid>
    </Page>

    Hi Mikhail Maksyuta,
    Welcome back!
    Yes, you are right! I have reproduced it on VS 2013 professional.
    I will report it as bug, Thanks for your valuable suggestions!
    If you have any other questions about this, please feel free let me know!
    Thanks again!
    Regards! 
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Inter portlet communication in SP4

    Can any one tell me in step by step process with sample code to do inter portlet communication in SP4
    Here i have 2 portlets
    Portlet A and portlet B
    Portlet A has 2 hyperlinks link1 and link2
    When i click link1 or link2 in portlet A, i am passing a parameter,depends on the paramater i have to display some details in portlet B
    Thanks
    maria
    [email protected]
    Message was edited by marianair at Feb 10, 2005 2:27 AM

    hi,
    implement both portlets as page flow portlets. For both the links in portlet A, implement an action that generates an event and fires thisone. Then let the pageflow in portlet A show whatever content is appropriate, eg. the same as before the link.
    Portlet B cathces this event and in the connected pageflow action does whatever it needs to do and redirects to the appripriate JSP.
    Just remeber that you probably needs to use a custom event here.
    For details on IPC and events, see doc:
    http://e-docs.bea.com/workshop/docs81/doc/en/portal/howdoi/howInterPortletComm_wkshp.html
    As an alternative you can use the SP3 mechanism, I find thisone somewhat more cumbersome and messy.
    http://e-docs.bea.com/workshop/docs81/doc/en/portal/howdoi/howInterPortletComm.html
    Feel free to post follow-ups if you get stuck.
    - Anders M.

  • Inter-Portlet Communication Best Practices

    Here's the situation:
    There are 2 Portlets on a page; a Search Portlet and a List Portlet. When a user selects search criteria in the Search Portlet and presses the Submit button the items displayed in the List Portlet must be updated to reflect the search criteria that was entered.
    My approach to implementing this:
    When the user presses the Submit button the Search Portlet code will take the information entered by the user and create a searchObj. This searchObj will be attached to the Http Session object. When the Search Portlet is rendered again in the browser it will recognize (via a hidden HTML attribute) that it needs to inform the List Portlet that there is new search criteria. The browser will then generate a Portal Event that will cause the List Portlet to refresh its list based on the searchObj it finds attached to the Http Session object.
    Question 1:
    Assuming this is a reasonable approach how do I get the Search Portlet to generate an event based on a HTML hidden field at the time the Portlet is rendered?
    Question 2:
    Is there a better way to implement this type of functionality? Essentially the problem is that one Portlet needs to process some data and once it's done it needs to notify other Portlets. What are the best practices for this type of situation?
    Any suggestions are welcome.

    Hi,
    As per the JSR 168 Specification, we follow PortletSession with APPLICATION_SCOPE for implementing IPC ( inter portlet communication ).
    Here are the steps for IPC:-
    1. When you press submit from search portlet then fetch the search string value into the processAction method of the search portlet.
    2. Put the search string value in the portlet session with APPLICATION_SCOPE.
    3. When you press submit of search portlet, doView() method of both the portlets
    ( Search and List ) will be called.
    4. in the doView() method of List portlet retrieve the search string from the portlet session and call the business logic based on the search criteria.
    5. Put the search result into bean or as per your framework design.
    6. Iterate the bean value on to your List portlet rendering jsp.
    Note:-Here it is assumed that both the portlets are in the same ear/war.
    The coming JSR 286 specification, allows a portlet to send and receive events and perform state changes or send further events as result of processing an event.
    In JSR 286, we would be having one more request and reponse called EventRequest and EventResponse.
    Comments and suggestions are welcome for IPC.
    Thanks
    <Neeraj Sidhaye/>
    Try_Catch_Finally AT YAHOO DOT COM
    http://ExtremePortal.blog.co.uk

  • Agilent board doesn't work with NI-488

    I have an Agilent GPIB interface board, but it seems that it doesn't work with NI-488 software. I would like to know if there's a way to use these board with LabView because if it's not recognize by NI-488 software I can not use it in an application with Labview

    As far as I know, NI-488 only works with NI's GPIB boards and other GPIB Interfaces.
    I suggest getting an GPIB interface from NI. If you are looking for a cheap way to do this, try getting a USB-GPIB Interface. They are only $495. Also, ISA GPIB cards are only $395.
    Alternatively, try installing the GPIB interface software for the Agilent board, and communicating with it through LabVIEW. Agilent may have a driver for this.

  • Inter portlet communication using a float portlet

    Hi,
    I am trying to achieve inter portlet communication between a jsp portlet and a pageflow portlet.
    The jsp portlet will open up as a pop up window or as a float portlet.
    I am using BEA Weblogic 8.1 SP5.
    Has any body tried this IPC when the jsp portlet is a float portlet?
    If there is any documentation available for the same?
    Thanks,
    Shreesh

    Hi,
    Thanks for the reply.
    In the search.jsp I am adding an action associated with a form bean, and passing the search string to the form, which will pass the request to the action method. This is the code snippet:
    * @jpf:action
    * @jpf:forward name="success" path="search.jsp"
    protected Forward searchcriteria(SearchcriteriaForm form)
    String searchString = form.getString();
    try {
    URL url = new URL("http://localhost/demo_search.asp");
    HttpURLConnection http = (HttpURLConnection) url.openConnection();
    http.setRequestMethod("POST");
    PrintStream out=new PrintStream(http.getOutputStream());
    out.println("searchParam=searchstring");
    out.flush();
    out.close();
    BufferedReader reader=new BufferedReader(new InputStreamReader(http.getInputStream()));
    reader.readLine();
    String patternStr = "pattern";
    Pattern pattern = Pattern.compile(patternStr);
    Matcher matcher = pattern.matcher("<a href");
    // Retrieve all lines that match pattern
    String line = null;
    while ((line = reader.readLine()) != null)
    out.println("***"+line+"***");
    matcher.reset(line);
    if (matcher.find()) {
    // line matches the pattern
    } catch(Exception e)
    e.printStackTrace();
    return new Forward("success");
    * FormData get and set methods may be overwritten by the Form Bean editor.
    public static class SearchcriteriaForm extends FormData
    private String string;
    public void setString(String string)
    this.string = string;
    public String getString()
    return this.string;
    The question is what should be the return forward for the search coz, the result should be displayed in a seperate portlet. Also, how do I capture only the result in the result.jsp.
    I would appreciate if you help me,
    Thanks in Advance,
    Sailatha

  • Microsoft word doesn't work with Yosemite. Please Help

    Microsoft word doesn't work with Yosemite. Please Help

    Office 2008 and 2011 work with Yosemite. If you had Office 2004 installed, then it will not work. If you had Office 2008 I would upgrade to Office 2011. In any event you should try completely uninstalling Office and then reinstalling it.

  • Trying to load illustrator 6cs onto new mac and the old activation code for my ill cs doesn't work with it

    Trying to load a downloaded version of illustrator 6cs onto new mac and the old activation code for my illustrator cs doesn't work with it.  Do I need a new code or am I missing something?  Same goes for my Photoshop cs.

    you need your serial number.
    if you purchased from or registered with adobe check your account, https://www.adobe.com/account.html

  • Cinema Display (clear) with DVI/ADC box doesn't work with MacBook Pro

    Cinema Display (clear) with DVI/ADC box doesn't work with MacBook Pro when plugged in with a dvi to mini dvi cable. Any ideas what to do to make it work? I lugged the 23" 2500 miles into the wilderness and I need help

    Okay, here's an update: the DVI to ADC adapter does work with the Apple displays that I have tried, but it won't work with the Formac. I have tried multiple time to contact them, but to no avail... they don't even respond to threats of posting my opinion of them, which is this:
    DON'T BUY ANYTHING FROM FORMAC! They make quality products, but their customer service is a big time joke! They won't take care of you.

  • HT201210 hi everyone, i have a problem about my iphone 4S, doesn't work with wifi connection and bluetooth since upgrade to the IOS 7.0.3. Can anyone can help me tosolve this problem?????Thank's regards paulus

    hi everyone, i have a problem about my iphone 4S, doesn't work with wifi connection and bluetooth since upgrade to the IOS 7.0.3. Can anyone can help me tosolve this problem?????Thank's regards paulus

    Try the suggestions here to see if they resolve your problem:
    http://support.apple.com/kb/ts1559
    If these don't work you may have a hardware problem. Visit an Apple store for an evaluation or contact Apple Support.

  • TS1253 I have a printer epson TX210, but it doesn't work with my time-capsule. What need to do?

    I have a printer epson TX210, but it doesn't work with my time-capsule. What need to do?

    What have you tried?
    You are going to get nowhere quick with the 6.1 utility in Mountain Lion if this is the only OS you have available.
    Look up how to install 5.6 utility under ML. At least then you can see printers. That is assuming you are trying to use USB.
    Has this worked ever on Mountain Lion? Did you download the drivers for that printer for ML?
    Plug it into a computer directly.. does it work? If it doesn't work locally it sure will not work via the network.

Maybe you are looking for