After JSR-168 processAction there is no re-Render?

In the Edit/Config mode of my JSR-168 portlet I want to have a rather complex form. It's a table that the user would be able to edit, add, and remove rows from. I have a form that submits to the actionURL, and sucessfully calls the processAction method of the portlet. Each action like add, remove, or edit submits the form to this method. I want to save the change and refresh the screen for further changes.
The problem is that the screen won't refresh after the action call. The edit/config window just closes on its own. Is there a way to modify this behavior so that the screen refreshes instead and only closes when I tell it the user is done?
Thanks,
Tim

I have since re-written the code based on the fact that it doesn't work the way I expected. I basically have:
public class ABSSalesSearchBase extends GenericPortlet {
protected void doDispatch(RenderRequest request,
RenderResponse response) throws PortletException,
IOException {
System.out.println("ABSSalesSearchBase doDispatch 1");
processActionWorkaround(request, response);
protected void processActionWorkaround(RenderRequest request,
RenderResponse response) throws PortletException,
IOException {
System.out.println("ABSSalesSearchBase processActionWorkaround 1");
public void processAction(ActionRequest request, ActionResponse response)
throws PortletException, IOException {
System.out.println("ABSSalesSearchBase processAction - Done");
I put the call to processActionWorkaround() inside doDispatch so that I could process the action and then continue to render the portlet.
After a normal call to processAction(), the doDispatch() is not called, and the portal closes the popup preferences window. So I'm now only using processAction when the user clicks on a Done button.
It would make more sense for the portal to keep the preferences window open until I changed the portlet mode back from Edit to View, signaling that the edits were done, but it seems the container assumes we are done after any processAction.

Similar Messages

  • We can use JSR-168 JPS portlet upload file,

    We can use JSR-168 JPS portlet upload file,
    here is the source for you referrence:
    upload file can use JSR168 portlet,
    1,CustomizablePortlet.java File
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.ResourceBundle;
    import javax.portlet.*;
    import oracle.webdb.utils.SimpleStringBuffer;
    public class CustomizablePortlet extends GenericPortlet {
    private static final String TITLE_KEY = "title";
    protected static final String OK_ACTION = "ok_action";
    protected static final String APPLY_ACTION = "apply_action";
    protected static final PortletMode PREVIEW_MODE = new PortletMode("preview");
    protected static final PortletMode EDIT_DEFAULTS_MODE = new PortletMode("EDIT_DEFAULTS");
    protected static final PortletMode ABOUT_MODE = new PortletMode("ABOUT");
    public CustomizablePortlet() {
    public String getTitle(RenderRequest request) {
    return request.getPreferences().getValue("title", getPortletConfig().getResourceBundle(request.getLocale()).getString("javax.portlet.title"));
    public void doEdit(RenderRequest request, RenderResponse response) throws PortletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.print("<FORM ACTION=\"");
    out.print(getEditFormSubmitURL(request, response));
    out.println("\" METHOD=\"POST\">");
    out.println("<TABLE BORDER=\"0\">");
    out.println("<TR>");
    out.println("<TD WIDTH=\"20%\">");
    out.println("<P CLASS=\"portlet-form-field\" ALIGN=\"RIGHT\">Title:");
    out.println("</TD>");
    out.println("<TD WIDTH=\"80%\">");
    out.print("<INPUT CLASS=\"portlet-form-input-field\" TYPE=\"TEXT\" NAME=\"");
    out.print("title");
    out.print("\" VALUE=\"");
    out.print(getTitle(request));
    out.println("\" SIZE=\"20\">");
    out.println("</TD>");
    out.println("</TR>");
    out.println("<TR>");
    out.println("<TD COLSPAN=\"2\" ALIGN=\"CENTER\">");
    out.print("<INPUT CLASS=\"portlet-form-button\" TYPE=\"SUBMIT\" NAME=\"");
    out.print("ok_action");
    out.print("\" VALUE=\"OK\">");
    out.print("<INPUT CLASS=\"portlet-form-button\" TYPE=\"SUBMIT\" NAME=\"");
    out.print("apply_action");
    out.print("\" VALUE=\"Apply\">");
    out.println("</TD>");
    out.println("</TR>");
    out.println("</TABLE>");
    out.println("</FORM>");
    protected String getEditFormSubmitURL(RenderRequest request, RenderResponse response) {
    return response.createActionURL().toString();
    public void doHelp(RenderRequest request, RenderResponse response) throws PortletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.print("Help for <i><b>");
    out.print(getTitle(request));
    out.println("</b></i>.");
    public void doAbout(RenderRequest request, RenderResponse response) throws PortletException, IOException {
    String aboutHTML = (new SimpleStringBuffer(30)).append("/about_").append(getPortletName()).append(".html").toString();
    PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(aboutHTML);
    response.setContentType("text/html");
    if(rd != null) {
    rd.include(request, response);
    } else {
    PrintWriter out = response.getWriter();
    out.print("<p class=\"portlet-font\">This is the about page for ");
    out.print(getTitle(request));
    out.print(".</p><p class=\"portlet-font\">");
    out.print("To customize the contents of this page, create a file named '");
    out.print(aboutHTML.substring(1));
    out.print("' in the Portlet web application's root directory containing HTML ");
    out.print("to appear here. ");
    out.print("Alternatively, override the <code>CustomizablePortlet</code> ");
    out.println("class's <code>doAbout()</code> method.</p>");
    public void doDispatch(RenderRequest request, RenderResponse response) throws PortletException, IOException {
    WindowState state = request.getWindowState();
    if(!state.equals(WindowState.MINIMIZED)) {
    PortletMode mode = request.getPortletMode();
    if(mode.equals(PREVIEW_MODE))
    doView(request, response);
    else
    if(mode.equals(EDIT_DEFAULTS_MODE))
    doEdit(request, response);
    else
    if(mode.equals(ABOUT_MODE))
    doAbout(request, response);
    else
    super.doDispatch(request, response);
    } else {
    super.doDispatch(request, response);
    public void processAction(ActionRequest request, ActionResponse actionResponse) throws PortletException, IOException {
    String newTitle = request.getParameter("title");
    PortletPreferences prefs = request.getPreferences();
    prefs.setValue("title", newTitle);
    prefs.store();
    if(request.getParameter("ok_action") != null) {
    actionResponse.setPortletMode(PortletMode.VIEW);
    actionResponse.setWindowState(WindowState.NORMAL);
    2,FileUploadPortlet.java file
    import java.io.*;
    import javax.activation.DataHandler;
    import javax.mail.MessagingException;
    import javax.mail.internet.MimeBodyPart;
    import javax.portlet.*;
    import oracle.portal.portlet.sample.CustomizablePortlet;
    public class FileUploadPortlet extends CustomizablePortlet
    private static final String FILE_PARAM = "file";
    private static final String SUBMIT_PARAM = "submit";
    private static final String DEFAULT_CHARSET = "ISO-8859-1";
    private static final String uploadRoot = "";
    public FileUploadPortlet()
    public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.print("<form action=\"");
    out.print(response.createActionURL().toString());
    out.println("\" enctype=\"multipart/form-data\" method=\"post\">");
    out.println("<center><table border=\"0\">");
    out.println("<tr>");
    out.print("<td class=\"portlet-form-field\" align=\"right\">");
    out.print("Please browse to an HTML file:");
    out.println("</td>");
    out.print("<td>");
    out.print("<input class=\"portlet-form-input-field\" type=\"file\" name=\"");
    out.print("file");
    out.print("\">");
    out.println("</td>");
    out.println("</tr>");
    out.println("<tr>");
    out.println("<td colspan=\"2\" align=\"center\">");
    out.print("<input type=\"submit\" class=\"portlet-form-button\" name=\"");
    out.print("submit");
    out.print("\" value=\"Display\">");
    out.println("</td>");
    out.println("</tr>");
    out.println("</table>");
    out.println("</form>");
    String lastFile = request.getPreferences().getValue("file", null);
    if(lastFile != null) {
    out.println("<hr width=\"100%\"><br>");
    out.print(lastFile);
    public void processAction(ActionRequest request, ActionResponse actionResponse) throws PortletException, IOException {
    FormDataParser parsedRequest = new FormDataParser(request);
    MimeBodyPart mbp = parsedRequest.getMimeBodyPart("file");
    if(mbp == null)
    super.processAction(request, actionResponse);
    else
    try {
    String fileName= mbp.getFileName();
    int splash = fileName.lastIndexOf("\\");
    if(splash != -1)
    fileName = fileName.substring(splash +1, fileName.length()).trim();
    String contentType = mbp.getContentType();
    String charSet = getCharsetFromContentType(contentType);
    int sepIndex = contentType.indexOf(';');
    if(sepIndex != -1)
    contentType = contentType.substring(0, sepIndex).trim();
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    mbp.getDataHandler().writeTo(bos);
    bos.close();
    String content = new String(bos.toByteArray(), charSet);
    FileOutputStream fos = new FileOutputStream(fileName);
    fos.write(bos.toByteArray());
    fos.close();
    PortletPreferences prefs = request.getPreferences();
    prefs.setValue("file", fileName + "upload ok");
    prefs.store();
    catch(MessagingException me) {
    throw new PortletException(me);
    public static String getCharsetFromContentType(String contentType) {
    int lastPos;
    if((lastPos = contentType.indexOf(';')) == -1)
    return "ISO-8859-1";
    lastPos++;
    String lowerContentType = contentType.toLowerCase();
    int nextPos;
    do {
    nextPos = lowerContentType.indexOf(';', lastPos);
    String param;
    if(nextPos == -1)
    param = lowerContentType.substring(lastPos).trim();
    else
    param = lowerContentType.substring(lastPos, nextPos).trim();
    if(param.startsWith("charset=") && param.length() > 8)
    return param.substring(8);
    lastPos = nextPos + 1;
    } while(nextPos != -1);
    return "ISO-8859-1";
    3,FormDataParser.java file
    import java.io.*;
    import java.util.*;
    import javax.activation.DataSource;
    import javax.mail.MessagingException;
    import javax.mail.internet.MimeBodyPart;
    import javax.mail.internet.MimeMultipart;
    import javax.portlet.ActionRequest;
    import javax.portlet.PortletException;
    public class FormDataParser {
    private static final String MULTIPART_PREFIX = "multipart/";
    private static final String MULTIPART_FORM_DATA = "multipart/form-data";
    private static final String PLAIN_TEXT = "text/plain";
    private ActionRequest mWrappedRequest;
    private Map mParams;
    private Map mBodyParts;
    private boolean mIsInitialized;
    private boolean mHasMultipart;
    public FormDataParser(ActionRequest request) {
    mWrappedRequest = request;
    public String getParameter(String name) throws PortletException {
    String value = mWrappedRequest.getParameter(name);
    if(value != null)
    return value;
    initParameters();
    if(!mHasMultipart)
    return null;
    List paramList = (List)mParams.get(name);
    if(paramList != null)
    return (String)paramList.get(0);
    else
    return null;
    public String[] getParameterValues(String name) throws PortletException {
    String values[] = mWrappedRequest.getParameterValues(name);
    if(!mHasMultipart)
    return values;
    initParameters();
    List valueList = (List)mParams.get(name);
    if(valueList == null)
    return values;
    int size = valueList.size();
    if(values != null) {
    List newValueList = new ArrayList(values.length + size);
    newValueList.addAll(Arrays.asList(values));
    newValueList.addAll(valueList);
    valueList = newValueList;
    values = new String[size];
    valueList.toArray(values);
    return values;
    public MimeBodyPart getMimeBodyPart(String name) throws PortletException {
    initParameters();
    if(!mHasMultipart) {
    return null;
    } else {
    List parts = (List)mBodyParts.get(name);
    return parts != null ? (MimeBodyPart)parts.get(0) : null;
    public MimeBodyPart[] getMimeBodyParts(String name) throws PortletException {
    initParameters();
    if(!mHasMultipart)
    return null;
    List parts = (List)mBodyParts.get(name);
    if(parts == null) {
    return null;
    } else {
    MimeBodyPart mimeBodyParts[] = new MimeBodyPart[parts.size()];
    parts.toArray(mimeBodyParts);
    return mimeBodyParts;
    private void initParameters() throws PortletException {
    if(mIsInitialized)
    return;
    String contentType = mWrappedRequest.getContentType();
    if(contentType == null) {
    mIsInitialized = true;
    return;
    int sepIndex = contentType.indexOf(';');
    if(sepIndex != -1)
    contentType = contentType.substring(0, sepIndex).trim();
    if(contentType.equalsIgnoreCase("multipart/form-data")) {
    mParams = new HashMap(20);
    mBodyParts = new HashMap(20);
    DataSource ds = new DataSource() {
    public InputStream getInputStream() throws IOException {
    return mWrappedRequest.getPortletInputStream();
    public OutputStream getOutputStream() throws IOException {
    throw new IOException("OutputStream not available");
    public String getContentType() {
    return mWrappedRequest.getContentType();
    public String getName() {
    return getClass().getName();
    try {
    MimeMultipart multipartMessage = new MimeMultipart(ds);
    parseMultiPart(multipartMessage, null);
    catch(MessagingException me) {
    throw new PortletException(me);
    catch(IOException ioe) {
    throw new PortletException(ioe);
    mHasMultipart = true;
    mIsInitialized = true;
    private void parseMultiPart(MimeMultipart multipartMessage, String parentFieldName) throws MessagingException, IOException {
    int partCount = multipartMessage.getCount();
    for(int i = 0; i < partCount; i++) {
    javax.mail.BodyPart part = multipartMessage.getBodyPart(i);
    if(part instanceof MimeBodyPart) {
    MimeBodyPart mimePart = (MimeBodyPart)part;
    String disps[] = mimePart.getHeader("Content-Disposition");
    if(disps != null && disps.length != 0) {
    String disp = disps[0];
    String lcDisp = disp.toLowerCase();
    int nameStart;
    int nameEnd;
    if((nameStart = lcDisp.indexOf("name=\"")) != -1 && (nameEnd = lcDisp.indexOf("\"", nameStart + 6)) != -1)
    parentFieldName = disp.substring(nameStart + 6, nameEnd);
    if(parentFieldName != null)
    if(mimePart.getContentType().toLowerCase().startsWith("multipart/")) {
    Object content = mimePart.getContent();
    if(content instanceof MimeMultipart)
    parseMultiPart((MimeMultipart)content, parentFieldName);
    } else
    if((nameStart = lcDisp.indexOf("filename=\"")) != -1 && (nameEnd = lcDisp.indexOf("\"", nameStart + 10)) != -1) {
    List values = (List)mBodyParts.get(parentFieldName);
    if(values == null) {
    values = new ArrayList(1);
    mBodyParts.put(parentFieldName, values);
    values.add(mimePart);
    } else
    if(mimePart.getContentType().toLowerCase().startsWith("text/plain")) {
    Object content = mimePart.getContent();
    if(content instanceof String) {
    List values = (List)mParams.get(parentFieldName);
    if(values == null) {
    values = new ArrayList(1);
    mParams.put(parentFieldName, values);
    values.add((String)content);
    4.web.xml file
    <?xml version = '1.0' encoding = 'ISO-8859-1'?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <display-name>hanhuiwen OracleSamplePortlets</display-name>
    <description>hanhuiwen Oracle Sample Portlet Application</description>
    <servlet>
    <servlet-name>portletdeploy</servlet-name>
    <servlet-class>oracle.webdb.wsrp.server.deploy.PortletDeployServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
    <servlet-name>portletjaxrpc</servlet-name>
    <servlet-class>com.sun.xml.rpc.server.http.JAXRPCServlet</servlet-class>
    <init-param>
    <param-name>configuration.file</param-name>
    <param-value>/WEB-INF/WSRPService_Config.properties</param-value>
    </init-param>
    </servlet>
    <servlet>
    <servlet-name>portletresource</servlet-name>
    <servlet-class>oracle.webdb.wsrp.server.ResourceServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>ChartServlet</servlet-name>
    <display-name>Chart Servlet</display-name>
    <description>Demo image-generating servlet</description>
    <servlet-class>oracle.portal.portlet.sample.chart.ChartServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
    <servlet-name>uix</servlet-name>
    <servlet-class>oracle.cabo.servlet.UIXServlet</servlet-class>
    <init-param>
    <param-name>oracle.cabo.servlet.pageBroker</param-name>
    <param-value>oracle.cabo.servlet.xml.UIXPageBroker</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>ChartServlet</servlet-name>
    <url-pattern>/chart*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>portletjaxrpc</servlet-name>
    <url-pattern>/portlets*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>portletresource</servlet-name>
    <url-pattern>/portletresource*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>uix</servlet-name>
    <url-pattern>*.uix</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>uix</servlet-name>
    <url-pattern>/uix/*</url-pattern>
    </servlet-mapping>
    <session-config>
    <session-timeout>60</session-timeout>
    </session-config>
    <welcome-file-list>
    <welcome-file>index.uix</welcome-file>
    </welcome-file-list>
    <!--
    LogLevel controls the amount of information logged. There are 7 log levels:
    0 - logging disabled
    1 - configuration
    2 - severe error
    3 - warning
    4 - throwing exception
    5 - performance
    6 - information
    7 - debug
    The oracle.portal.log.Logger interface defines methods that map to these 7
    log levels. However, there are also 2 methods that do not map to log
    levels. These methods are included for backwards compatibility and data
    logged using these methods will always be logged regardless of the log level.
    -->
    <env-entry>
    <env-entry-name>oracle/portal/log/logLevel</env-entry-name>
    <env-entry-type>java.lang.Integer</env-entry-type>
    <env-entry-value>7</env-entry-value>
    </env-entry>
    </web-app>
    5.portlet.xml
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
    <portlet>
    <description xml:lang="en">A portlet that demonstrates the file upload features of the Java Portlet Specification.</description>
    <portlet-name>FileUpload</portlet-name>
    <portlet-class>FileUploadPortlet</portlet-class>
    <expiration-cache>0</expiration-cache>
    <supports>
    <mime-type>text/html</mime-type>
    <portlet-mode>help</portlet-mode>
    <portlet-mode>about</portlet-mode>
    <portlet-mode>edit_defaults</portlet-mode>
    </supports>
    <supported-locale>en</supported-locale>
    <portlet-info>
    <title>File Upload Portlet</title>
    <short-title>File Upload</short-title>
    <keywords>File,Upload, Portlet</keywords>
    </portlet-info>
    </portlet>
    <custom-portlet-mode>
    <description xml:lang="en">This mode should be used by the portlet to display information on the portlet's purpose, origin, version, etc.</description>
    <portlet-mode>about</portlet-mode>
    </custom-portlet-mode>
    <custom-portlet-mode>
    <description xml:lang="en">This mode signifies that the portlet should render a screen to set the default values for the modifiable preferences that are typically changed in the EDIT screen. Calling this mode requires that the user must have administrator rights.</description>
    <portlet-mode>edit_defaults</portlet-mode>
    </custom-portlet-mode>
    <custom-portlet-mode>
    <description xml:lang="en">This mode should be used by the portlet to render output without the need of having back-end connections or user specific data available.</description>
    <portlet-mode>preview</portlet-mode>
    </custom-portlet-mode>
    <user-attribute>
    <name>user.name.given</name>
    </user-attribute>
    <user-attribute>
    <name>user.name.family</name>
    </user-attribute>
    <user-attribute>
    <name>user.name.middle</name>
    </user-attribute>
    <user-attribute>
    <name>user.name.nickname</name>
    </user-attribute>
    <user-attribute>
    <name>user.bdate</name>
    </user-attribute>
    <user-attribute>
    <name>user.business-info.online.email</name>
    </user-attribute>
    </portlet-app>

    Hello i had exactly the same error, but not with file upload.
    I'm sure you have in your application lib directory to jars which aren't compatible to each other.
    And the problem occured between my myfaces and tomahawk jars .
    See this page:
    http://wiki.apache.org/myfaces/CompatibilityMatrix
    It tells you which myfaces and tomahawk jars you can use together.
    Hope it can help.
    bye

  • Consuming web services in a jsr 168 portlet best practices.

    I am building portlets (jsr 168 api in Websphere Portal 6.0 using web service client of Rational). Now needed some suggestions on caching the web services data on the portlet. We have a number of portlets (somewhere around 4 or 5) on a portal page which basically rely on a single wsdl Lotus Domino Web Service.
    Is there a way I can cache the data returned by webservice so that I dont make repeated calls to the webservice on every portlet request. Any best practices/ideas on how I could do avoid multiple web service calls would be appreciated ?

    Interestingly, as it often happens with Oracle portal, this has started working without me doing anything special.
    However, the session events my listener gets notified of are (logically, as this portlet works via WSRP) different from user sessions. The problem I'm trying to solve now is that logging off (in SSO) doesn't lead to those sessions being destroyed. They only get destroyed after timeout specified in my web.xml (<session-config><session-timeout>30</session-timeout></session-config>). On the other hand, when they do expire, the SSO session may still be active, in which case the user gets presented with the infamous "could not get markup" error message. The latter is unacceptable in our case, so we had to set session-timeout to a pretty high value.
    So the question is, how can we track when the user logs off. We have found the portal.wwctx_sso_session$ and portal.WWLOG_ACTIVITY_LOG1$ (and ...2$) tables, but no documentation for them. However, the real problem with using those tables is that there's no way we could think of to match the portlet sessions with SSO sessions/actions listed in the tables. (Consider situation when someone logs in from two PCs.)
    Any ideas?

  • Remote Inter Portlet Communication for JSR 168

    Hi All,
    We are stuck in a big problem using JSR 168 as remote portlets. We will be relieved if someone can suggest few ideas on this. I will provide the scenario which we are trying now.
    We have two portlets namely portlet A and portlet B which are Java(JSR 168) type portlets. These two portlets are offered as remote and they reside in the producer application. We have consumed these two portlets in our consumer application.
    The portlet A is triggering an event and portlet B is listening to the event triggered by portlet A. Currently we are trying to implement this functionality using Ajax. We tried to use customEventUrl tag in our jsp belonging to portlet A and we finally figured out that customEventUrl will not work in Remote portlets. We are not sure as how to pass the information from remote portlet A to remote portlet B. Please let us know your thoughts about this as whether the implementation is really possible when using Remote portlets.
    IMPORTANT NOTE: The event handling and the configuration code that we have made in the above scenario is working perfectly for non-remote java portlets. The problem is occurring only when we consume them in the consumer application.
    Thanks
    Vijay

    Hello Ashwin,
    What version of WebLogic Portal are you using? And is this the same for both the consumer and producer?
    If you are using WLP 10.3.2 I would highly recommend using JSR286 portlets (the next version of the Java Portlet (JSR168) specification) and the JSR286-standard eventing. The JSR286 eventing model is actually much cleaner and easier to understand than the WLP-proprietary support for events in JSR168 portlets.
    However, if you are using a version of WLP prior to 10.3.2 and can't upgrade, JSR168-style events are your only choice. I can give you examples, but they all look very similar to the examples in the online documentation.
    When events work between portlets locally, but not over WSRP, the usual problems are:
    - There is one or more of "onlyIfDisplayed", "sourceDefinitionLabels" or "sourceInstanceLabels" attributes declared on the handle*Event element in the .portlet file. These attributes restrict when the portlet should receive an event, and they usually don't work the way you think when running over WSRP. It is best to not use these attributes for portlets which are going to be used over WSRP.
    - A payload is being sent with the event which is not actually serializable. If serialization of the event payload (which is required for versions of WLP prior to 10.3.2 for WSRP) fails, the event will not be delivered to the portlet.
    - The producer may be configured to not accept events. Check your producer's WEB-INF/wsrp-producer-config.xml file; the "service-config" element should either not have an "offer-extensions" attribute, or this attribute's value should be "true".
    - The events may be getting sent during a portlet lifecycle other than processAction or handleEvent. There is no way for WSRP to handle events which have been sent during preRender or render, so it simply doesn't work.
    - In the case of JSR168 portlets, if you have a backing file on the portlet (in addition to the portlet implementation as well), that may not work in some circumstances over WSRP. It is best to have the event handlers be in the portlet implementation class and avoid the use of backing files for JSR168 portlets.
    If none of those things help you, my suggestion would be to post a sample .portlet file for one of the portlets that is supposed to be receiving the event, as well as the method signature in that portlet's implementation class that is supposed to be receiving the event, and the code which is sending the event that is supposed to be received.
    Kevin

  • JSR 168 and Struts support sample error

    I'm trying to get the sample webapp for JSR 168 and Struts support working with
    WebLogic 8.1, and I'm having problems with the struts portlet. The other portlets
    seem to work fine, but the Struts portlet gives the following error after clicking
    "Save" on most of the forms:
    Page Flow Error - Action Not Found
    Page Flow: Global.app
    Action: html-setters.do
    Unable to find action html-setters.do.
    That error appears in the browser. At the same time, the following exception
    appears in the server window:
    <Aug 18, 2003 4:34:12 PM EDT> <Error> <netui> <BEA-420012> <There was an error
    while running a lifecycle stage :: Lifecycle: UIControl.render :: for the control
    :: null ::.
    com.bea.netuix.nf.UIControlException: For portlet [strutsPortlet], could not do
    page flow lookup for the given action [html-setters.do] in the given PageFlow:
    [struts/exercise-taglib].
    This exception is followed by hundreds of lines of the following:
    at com.bea.wlw.netui.pageflow.scoping.ScopedServletUtils.strutsLookup(ScopedServletUtils.java:363)
    as well as several stack overflow errors.
    I believe I have installed the JSR168 and Struts support package according to
    the instructions, and have copied the required jars into the samples WEB-INF/lib
    directory. I also have tried to write my own Struts application in a portlet,
    and it gets the exact same errors when I try to submit a form to my actions.
    Any insight would be much appreciated!
    Thanks,
    Patrick

    Hi Brodi,
    I am having the same problem as Patrick. The problem is not in the struts portlet,
    but in the forms the portlet navigates to. After the struts portlet loads, I
    am able to use the html:links and navigate through the pages. Though when I try
    to submit a form I get the action not found error. For example the html-select
    page has a form. This page loads fine, but when I hit the save button I get the
    following error.
    <Aug 25, 2003 11:00:00 AM EDT> <Error> <netui> <BEA-420012> <There was an error
    while running a lifecycle stage :: Lifecycle: UIControl.render :: for the contro
    l :: null ::.
    com.bea.netuix.nf.UIControlException: For portlet [strutsPortlet], could not do
    page flow lookup for the given action [html-select.do] in the given PageFlow:
    struts/exercise-taglib].
    The application appears to loose the struts context. It tries to find the localhost:7001/samples/html-select.do
    action instead of localhost:7001/samples/struts/exercise-taglib/html-select.do
    action. How do I keep the application from loosing context?
    Thank you,
    Karen
    "Brodi Beartusk" <[email protected]> wrote:
    >
    Patrick-
    I've seen similar things happen when the module name is either not specified
    correctly
    in the StrutsContent element in the portlet, or when the module is misconfigured,
    usually because of either a mising config file or a mis-named config
    file.
    Ensure that you have a the struts config file for the exercise-taglib
    module in
    WEB-INF, named jpf-struts-config-struts-exercise-taglib.xml.
    -Brodi Beartusk
    "Patrick Callis" <[email protected]> wrote:
    I'm trying to get the sample webapp for JSR 168 and Struts support working
    with
    WebLogic 8.1, and I'm having problems with the struts portlet. Theother
    portlets
    seem to work fine, but the Struts portlet gives the following errorafter
    clicking
    "Save" on most of the forms:
    Page Flow Error - Action Not Found
    Page Flow: Global.app
    Action: html-setters.do
    Unable to find action html-setters.do.
    That error appears in the browser. At the same time, the followingexception
    appears in the server window:
    <Aug 18, 2003 4:34:12 PM EDT> <Error> <netui> <BEA-420012> <There was
    an error
    while running a lifecycle stage :: Lifecycle: UIControl.render :: for
    the control
    :: null ::.
    com.bea.netuix.nf.UIControlException: For portlet [strutsPortlet], could
    not do
    page flow lookup for the given action [html-setters.do] in the given
    PageFlow:
    [struts/exercise-taglib].
    This exception is followed by hundreds of lines of the following:
    at com.bea.wlw.netui.pageflow.scoping.ScopedServletUtils.strutsLookup(ScopedServletUtils.java:363)
    as well as several stack overflow errors.
    I believe I have installed the JSR168 and Struts support package according
    to
    the instructions, and have copied the required jars into the samples
    WEB-INF/lib
    directory. I also have tried to write my own Struts application ina
    portlet,
    and it gets the exact same errors when I try to submit a form to myactions.
    Any insight would be much appreciated!
    Thanks,
    Patrick

  • Parameter passing and forwarding issues with 10.1.4 JSR 168 portlets

    Hi,
    I'm using version 10.1.4 version of Oracle Portal Server, and am trying to move a JSP web application to a JSR 168 compliant portlet.
    I am experiencing these issues:
    1. There are <form> tags in my JSPs. I've set the action attribute to "<portlet:actionURL>". This works okay and I can see the parameters in my processAction properly. However, if I modify the action attribute to "<portlet:renderURL>", I do not see any parameters in my doView(). Is this expected or a known bug?
    2. As a workaround of the issue #1, in my processAction, I'm using response.setRenderParameter(). This works but has a serious side effect: the first set of values set are set permanently for the session. Subsequent submissions of my JSP fail to alter the values. Is this expected? This problem is not there if setRenderParameter() is not used.
    3. My JSPs use request.setAttribute() and request.getSession().setAttribute(). I don't see these attributes in my processAction using request.getAttributeNames(). Is there another way of retrieving them?
    4. In my JSP, I have this code in a method declaration:
    String forwardPage = "hello.jsp";
    RequestDispatcher forwarder = request.getSession().getServletContext().getRequestDispatcher(forwardPage);
    forwarder.forward(request, response);
    This results in an exception on the server:
         06/05/07 00:25:10 AnupamPortlets: JspServlet: unable to dispatch to requested page: java.lang.NullPointerException
         at com.evermind.server.http.HttpApplication.isLegalFileSystemPath(HttpApplication.java:1298)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:502)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:824)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:253)
         at opportunity_detail____contacts__view._Controller.processRequest(_Controller.java:2516)
         at opportunity_detail____contacts__view._Controller._jspService(_Controller.java:2592)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:350)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:824)
         at com.evermind.server.http.ServletRequestDispatcher.include(ServletRequestDispatcher.java:121)
         at oracle.webdb.wsrp.server.RequestDispatcherImpl.include(Unknown Source)
         at mypackage1.Portlet1.doView(Portlet1.java:158)
    I've tried moving the page around and using request.getContextPath() and getNamedDispatcher(), but same error.
    This is supported, right? I saw some old messages about this being a bug on the PDK side.
    Actually, using forwarder.include() works, but causes other issues
    Any ideas what I can try of any of these will be greatly appreciated. Thanks.

    Hi Anupam,
    I can help you with question #2.
    2. As a workaround of the issue #1, in my processAction, I'm using response.setRenderParameter(). This works but has a serious side effect: the first set of values set are set permanently for the session. Subsequent submissions of my JSP fail to alter the values. Is this expected? This problem is not there if setRenderParameter() is not used.
    I believe that the issue is an artifact of the interpretation of the JSR-168 specification by Oracle. I discovered that the setRenderParameter basically ends up sending a redirect back to the browser with the render parameters in the URL. This raised security concerns as you may have wanted to pass some sort of internal data from your action to your render request. The parameters in the url "hang around" once they are there so your portlet keeps recieving them. Based on this behavior I have decided to not use setRenderParameter in Oracle portal.
    -sean
    Solutions Architect
    www.sagelogix.com

  • Problems with JSR 168 Portlets

    Hi!, I�m working with JSR 168 Portlets and after successfully deploying it into the portal (6.2) I�m not able to get any content. I�ve already made a war (I couldn�t make the studio 5u1, (PB 2) simulate it :( ), and it seems to be correctly deployed inside appsrv (7). I placed some JSP�s and HTML�s and they are available from a browser but not from the portal. The first error I got was Channel time out but then I managed to get Content not Available. It seems that the portal is not able to reach the JSP�s but I�m not sure. Is there any restriction about folders with this or just by deploying the war makes everything? Is it necessary to set the files inside the portal folder? I�ve read the manuals many times and I can�t find a suitable tutorial (the only I got is one to make a provider or a channel :( ), nor a detaliled how to. I�ll thank any advice.
    Cheers , Pablo.

    Hi, Thanks for answering, the log says the following:
    2004/04/28 12:13:32.372 ART | null | WARNING | Thread-74 | {default={bookmarkContentPage=|/bookmarkportlet/content.jsp, bookmarkEditPage=|/bookmarkportlet/edit.jsp, bookmarkHelpPage=|/bookmarkportlet/help.jsp, targets=|Sun home page=http://www.sun.com|Oracle home page=http://www.oracle.com|AOL home page=http://www.aol.com, windowPref=|all_new}, isReadOnly={bookmarkContentPage=false, bookmarkEditPage=false, bookmarkHelpPage=false, targets=false, windowPref=false}} (original) | -
    2004/04/28 12:13:32.373 ART | null | WARNING | Thread-74 | Loading __Portlet__bookmarkContentPage value is |/bookmarkportlet/content.jsp | -
    2004/04/28 12:13:32.380 ART | null | INFO | Thread-75 | PortletContainer.invokePAE(): invoking:
    app name /portletsamples
    portlet name NotepadPortlet
    action RENDER | -
    2004/04/28 12:13:32.399 ART | null | WARNING | Thread-75 | {default={contentPage=|/notepad/content.jsp, editPage=|/notepad/edit.jsp, helpPage=|/notepad/help.jsp, categories=, displayMax=|5}, isReadOnly={contentPage=false, editPage=false, helpPage=false, categories=false, displayMax=false}} (original) | -
    2004/04/28 12:13:32.400 ART | null | WARNING | Thread-75 | Loading __Portlet__contentPage value is |/notepad/content.jsp | -
    2004/04/28 12:13:32.405 ART | null | INFO | Thread-76 | PortletContainer.invokePAE(): invoking:
    app name /portletsamples
    portlet name WeatherPortlet
    action RENDER | -
    2004/04/28 12:13:32.424 ART | null | WARNING | Thread-76 | {default={zip=|95054, unit=|F, contentPage=|/weather/weatherView.jsp, editPage=|/weather/weatherEdit.jsp, helpPage=|/weather/weatherHelp.jsp}, isReadOnly={zip=false, unit=false, contentPage=false, editPage=false, helpPage=false}} (original) | -
    2004/04/28 12:13:32.425 ART | null | WARNING | Thread-76 | Loading __Portlet__zip value is |95054 | -
    2004/04/28 12:13:32.426 ART | null | WARNING | Thread-76 | {default={zip=|95054, unit=|F, contentPage=|/weather/weatherView.jsp, editPage=|/weather/weatherEdit.jsp, helpPage=|/weather/weatherHelp.jsp}, isReadOnly={zip=false, unit=false, contentPage=false, editPage=false, helpPage=false}} (original) | -
    2004/04/28 12:13:32.427 ART | null | WARNING | Thread-76 | Loading __Portlet__unit value is |F | -
    2004/04/28 12:13:32.466 ART | null | WARNING | Thread-74 | {default={bookmarkContentPage=|/bookmarkportlet/content.jsp, bookmarkEditPage=|/bookmarkportlet/edit.jsp, bookmarkHelpPage=|/bookmarkportlet/help.jsp, targets=|Sun home page=http://www.sun.com|Oracle home page=http://www.oracle.com|AOL home page=http://www.aol.com, windowPref=|all_new}, isReadOnly={bookmarkContentPage=false, bookmarkEditPage=false, bookmarkHelpPage=false, targets=false, windowPref=false}} (original) | -
    2004/04/28 12:13:32.467 ART | null | WARNING | Thread-74 | Loading __Portlet__targets value is |Sun home page=http://www.sun.com|Oracle home page=http://www.oracle.com|AOL home page=http://www.aol.com | -
    2004/04/28 12:13:32.468 ART | null | WARNING | Thread-74 | {default={bookmarkContentPage=|/bookmarkportlet/content.jsp, bookmarkEditPage=|/bookmarkportlet/edit.jsp, bookmarkHelpPage=|/bookmarkportlet/help.jsp, targets=|Sun home page=http://www.sun.com|Oracle home page=http://www.oracle.com|AOL home page=http://www.aol.com, windowPref=|all_new}, isReadOnly={bookmarkContentPage=false, bookmarkEditPage=false, bookmarkHelpPage=false, targets=false, windowPref=false}} (original) | -
    2004/04/28 12:13:32.469 ART | null | WARNING | Thread-74 | Loading __Portlet__windowPref value is |all_new | -
    2004/04/28 12:13:32.745 ART | null | WARNING | Thread-75 | {default={contentPage=|/notepad/content.jsp, editPage=|/notepad/edit.jsp, helpPage=|/notepad/help.jsp, categories=, displayMax=|5}, isReadOnly={contentPage=false, editPage=false, helpPage=false, categories=false, displayMax=false}} (original) | -
    2004/04/28 12:13:32.745 ART | null | WARNING | Thread-75 | Loading __Portlet__categories value is | -
    2004/04/28 12:13:32.746 ART | null | WARNING | Thread-75 | {default={contentPage=|/notepad/content.jsp, editPage=|/notepad/edit.jsp, helpPage=|/notepad/help.jsp, categories=, displayMax=|5}, isReadOnly={contentPage=false, editPage=false, helpPage=false, categories=false, displayMax=false}} (original) | -
    2004/04/28 12:13:32.747 ART | null | WARNING | Thread-75 | Loading __Portlet__displayMax value is |5 | -
    2004/04/28 12:22:38.703 ART | null | INFO | Thread-81 | PortletContainer.invokePAE(): invoking:
    app name /SUNONEPortlets
    portlet name MGPortletSUNONE
    action RENDER | -
    2004/04/28 12:22:38.740 ART | null | INFO | Thread-82 | PortletContainer.invokePAE(): invoking:
    app name /portletsamples
    portlet name JSPPortlet
    action RENDER | -
    2004/04/28 13:12:31.240 ART | null | INFO | Thread-93 | PortletContainer.invokePAE(): invoking:
    app name /SUNONEPortlets
    portlet name MGPortletSUNONE
    action RENDER | -
    2004/04/28 13:12:31.279 ART | null | INFO | Thread-94 | PortletContainer.invokePAE(): invoking:
    app name /portletsamples
    portlet name JSPPortlet
    in the file portletcontainer.log, I don�t understand that about DNS or proxy if I�m trying to render a local JSP. I�ve just deployed the JSP inside the portlet application war file. What do the pipes "|" mean?, is that the mistake?. Thanks in advance!!, Pablo :)

  • Multiple JSPs with JSR 168-compliant Java portlet

    Hi,
    I have an application with multiple JSPs that I'm trying to run in a portlet. Looks like a JSR 168 Java Portlet is the best way to do that. I want to avoid using proprietary PDK Portlet route.
    A few questions:
    1. Is there any sample of that available with multiple JSPs?
    2. More specifically, if I have a form element in one jsp, can I specify another JSP in the action element, or do I have to use an actionURL or renderURL?
    3. Also, how can I can debug my Java portlet from JDeveloper?
    Thanks.
    - Anupam

    Hi,<br>
    I'm building a JSR 168 Java portlet. I've been trying to pass params from my JSP using actionURL in my jsp, like so:<br><br>
    <FORM METHOD="POST" ACTION="<portlet:renderURL/>">
    <TABLE BORDER="0" CELLPADDING="4" CELLSPACING="0" BGCOLOR="#eeeeee">
    <TR>
    <TD ALIGN="right">
    <FONT FACE="Arial" SIZE="-1 ">User Name:</FONT>
    </TD>
    <TD>
    <INPUT NAME="userName" SIZE="12" MAXLENGTH="32">
    </TD>
    </TR>
    <TR>
    <TD>
    <INPUT NAME="action" SIZE="12" TYPE="hidden" value="Login">
    </TD>
    </TR>
    </TABLE>
    </FORM>
    <br><br>
    I find that in my processAction, I can see value of "action" parameter but not the value the user enters in the portlet for "userName".<br><br>
    Any idea why? I must be doing sthing wrong, dunno what.<br><br>
    Also, if I use renderURL instead of actionURL, I don't even see "action" getting passed. Is that expected?<br><br>
    Thanks

  • How to deploy existing JSR-168 portlet in WLP 10.0?

    I have a JSR-168 portlet packaged in a .war file and am trying to deploy in WLP 10.0. This seems like a common question that looks to be covered thoroughly for version 8.0 in the link:
    [url http://dev2dev.bea.com/pub/a/2004/09/deployJava81sp3.html]
    Those instructions no longer work, the tool is referencing classes that don't seem to exist in 10.0 and so it won't run.
    I am currently attempting to move the pieces by hand into a new Workshop Web Project, but was hoping that by now there would be an easier way.
    Any suggestions?

    I stumbled across the answer after I had manually merged the portlet into an existing web project. It is actually pretty straight forward.
    1. Right click on the web project, select import.
    2. You will be presented with three options - war file, ear file, import.... The ware war file option is so tempting, but it is not what you want. Choose Import... to get a longer list of options.
    3. Under "Other" you will see "Portlet from Archive".
    This does exactly what I wanted, with the exception of the web.xml. The files are not merged, you can either skip it or overwrite it. Small price to pay for the convenience.

  • WLP 9.2 - JSR-168 with beehive compatibility

    Hi all,
    I've got the following task - migrate WL pageflow portlets (based on beehive) to JSR-168.
    As far as I know there is no beehive-JSR168 bridge hence don't know how to run this migration in a clean way.
    Has anybody already had such a problem?
    Will appreciate any help.
    Thanks in advance.

    This solved the problem, thanks!
    One minor adjustment is still required: since we run Portal Admin on the
    Managed Servers, the ldap directory must be deleted from them too
    (\servers\ManagedServer\data\ldap).
    I guess this kind of dependency makes it difficult to share the same
    database between different server environments?
    <Reid Elliott> wrote in message news:[email protected]..
    I would guess when you recreated your database on MSSQL you did not reset
    your Servers LDAP data. There are dependencies between the two so if one
    is deleted, the other must also be cleared or they will get out of sync and
    can run into strange problems.
    There would be two options to do this (reset ldap) after you create your
    database.
    1. Deleting the ldap directory (\servers\AdminServer\data\ldap)
    And if your you don't want to reset the entire database again,
    2. delete the ldap directory above, and delete all entries from
    p13n_entitlement_role,
    p13n_entitlement_resource, p13n_entitlement_policy,
    p13n_entitlement_application and p13n_delegated_hierarchy tables in that
    order..

  • Jsr 168

    Will there be a jdeveloper extension for creating jsr-168 portlets that use jsf (without a portal bridge) that does not require a licence for web center.

    Good question :)
    I think, this situation puts my / our development direction to MyFaces + the MyFaces bridge and a none Oracle AppServer. (After licensing everything, you still have to pay for every piece or feature)

  • Upload file in Portlet (JSR-168) with library commons-FileUpdate

    hi All,
    I have write portlet (JSR 168) "UpToFile.java" for upload a file with the Commons-FileUpload 1.1.1 but when deploy in the Oracle Portal the file is not upload, because the variable isMultipart is false:
    UPToFile.ProcessAction(...) :
    boolean isMultipart = PortletFileUpload.isMultipartContent(request);
    (Utility method that determines whether the request contains multipart content.)
    view.jsp:
    <FORM ACTION="<portlet:actionURL/>" METHOD="POST" enctype="multipart/form-data" >
    upload file: <INPUT TYPE="file" NAME="file-upload" SIZE="20">
    <INPUT TYPE="SUBMIT" value="upload" >
    </FORM>
    I do not understand because "isMultipart" is "false".
    Tanks.
    EDIT: sorry, now work. :)
    Message was edited by:
    dartan
    null

    hi All,
    I have write portlet (JSR 168) "UpToFile.java" for upload a file with the Commons-FileUpload 1.1.1 but when deploy in the Oracle Portal the file is not upload, because the variable isMultipart is false:
    UPToFile.ProcessAction(...) :
    boolean isMultipart = PortletFileUpload.isMultipartContent(request);
    (Utility method that determines whether the request contains multipart content.)
    view.jsp:
    <FORM ACTION="<portlet:actionURL/>" METHOD="POST" enctype="multipart/form-data" >
    upload file: <INPUT TYPE="file" NAME="file-upload" SIZE="20">
    <INPUT TYPE="SUBMIT" value="upload" >
    </FORM>
    I do not understand because "isMultipart" is "false".
    Tanks.
    EDIT: sorry, now work. :)
    Message was edited by:
    dartan
    null

  • How to deploy a JSR-168 Portlet in Weblogic?

    I am running WLS 8.1 with the advanced JSR-168 support installed (not yet running
    SP2). I have a JSR-168 portlet war that I had been testing in the JSR-168 reference
    implementation (pluto). Can someone please point me to the instructions on how
    to now import my portlet war into Workshop so that I can add it to my Weblogic
    portal?
    Thanks!
    -David

    You cannot simply "deploy" a JSR 168 portlet into Weblogic using a WAR file in
    my experience. This is what I did to achieve deployment of a JSR 168 portlet in
    BEA WLS 8.1SP2:
    * File | New | Portlet | Java Portlet
    * Just type in the name of your view class name when asked for it.
    This creates a "YourAppName.portlet" file, which I believe Bea requires for any
    Portlet in order to make it available for use in their portals.
    * Add your files (*.jar, *.java *.jsp, etc).
    * Modify WEB-INF/portlet.xml to include all required descriptor elements that
    you have in your WAR file (keep in mind that there is only one portlet.xml for
    all portlets in a single web application)
    I was unable to use redirects for some reason, but it worked fine with include.
    "David" <[email protected]> wrote:
    >
    I am running WLS 8.1 with the advanced JSR-168 support installed (not
    yet running
    SP2). I have a JSR-168 portlet war that I had been testing in the JSR-168
    reference
    implementation (pluto). Can someone please point me to the instructions
    on how
    to now import my portlet war into Workshop so that I can add it to my
    Weblogic
    portal?
    Thanks!
    -David

  • Where is JSR-168 support?

    Hi all,
    I do manage to create jsr-168 jsf portlets using JSC , But one thing i failed to understand. I dont see the code as a standard jsr-168 portlet. Where is the processAction()? where is the request response object. Now i use to follow jsr-168 specs to get user information and to get portlet url.. How could i achieve this in Sun java Creator
    regard
    Kimi

    portlet url could probably be managed in part by ((PortletContext)getFacesContext().getCurrentInstance().getExternalContext().getContext()).getRealPath("/")
    to get at least the relative part of the path. In terms of the full url, not sure where you can find the server portion.
    For the rest of the questions, I would love to get the answer. I can't find much documentation online on how to really extend processAction for our own uses.

  • Deploying JSR-168 portlets error in Weblogic Portal 9.2MP2

    Hello,
    We're using WebLogic 9.2MP2 and ALBPM 5.7 SP2 enterprise server standalone. We want display in our portal the In-Box to the user as a JSR-168 portlet.
    We are following the steps in the following guide:
    http://edocs.bea.com/albsi/docs57/adminguide/jsr-168/ad_jsr168_wl92_deployingalbpmjsr168portlets.htm
    but when we try to add a new remote producer using the WebLogic Portal Administrator Console we get this error ( in the "Find producer" step):
    com.bea.jsptools.portal.helpers.wsrp.AddProducerControlException: java.rmi.RemoteException: Remote method invocation failed: weblogic.xml.crypto.wss.WSSecurityException: Unable to add security token for identity.; nested exception is:
         weblogic.xml.crypto.wss.WSSecurityException: Unable to add security token for identity
         at com.bea.jsptools.portal.helpers.wsrp.AddProducerHelper.getProducerForWsdl(AddProducerHelper.java:712)
         at com.bea.jsptools.portal.helpers.wsrp.AddProducerHelper.access$100(AddProducerHelper.java:61)
         at com.bea.jsptools.portal.helpers.wsrp.AddProducerHelper$FindProducers.producerWsdl(AddProducerHelper.java:249)
         at com.bea.jsptools.portal.helpers.wsrp.AddProducerHelper$FindProducers.run(AddProducerHelper.java:235)
         at portalTools.definitions.portletProducers.wizard.AddProducerWizardController.runAction(AddProducerWizardController.java:566)
         at portalTools.definitions.portletProducers.wizard.AddProducerWizardController.doIfValid(AddProducerWizardController.java:542)
         at portalTools.definitions.portletProducers.wizard.AddProducerWizardController.selectProducerAction(AddProducerWizardController.java:172)
         at sun.reflect.GeneratedMethodAccessor956.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:615)
         at org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:878)
         at org.apache.beehive.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:808)
         at org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:477)
         at org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:305)
         at org.apache.beehive.netui.pageflow.FlowController.execute(FlowController.java:335)
         at org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(FlowControllerAction.java:51)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
         at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:95)
         at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2042)
         at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:90)
         at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2114)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
         at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:554)
         at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:851)
         at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:630)
         at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:157)
         at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
         at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1169)
         at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:688)
         at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.processActionInternal(ScopedContentCommonSupport.java:144)
         at com.bea.portlet.adapter.scopedcontent.PageFlowStubImpl.processAction(PageFlowStubImpl.java:107)
         at com.bea.portlet.adapter.NetuiActionHandler.raiseScopedAction(NetuiActionHandler.java:99)
         at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:180)
         at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:168)
         at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackData(NetuiContent.java:222)
         at com.bea.netuix.nf.ControlLifecycle$2.visit(ControlLifecycle.java:178)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:351)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
         at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:361)
         at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:128)
         at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
         at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:339)
         at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:330)
         at com.bea.netuix.nf.Lifecycle.runInbound(Lifecycle.java:162)
         at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:137)
         at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:370)
         at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:229)
         at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:183)
         at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:221)
         at com.bea.netuix.servlets.manager.PortalServlet.service(PortalServlet.java:600)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at com.bea.jsptools.servlet.PagedResultServiceFilter.doFilter(PagedResultServiceFilter.java:82)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at com.bea.p13n.servlets.PortalServletFilter.doFilter(PortalServletFilter.java:251)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3243)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2003)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1909)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1359)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
    Caused by: java.rmi.RemoteException: Remote method invocation failed: weblogic.xml.crypto.wss.WSSecurityException: Unable to add security token for identity.; nested exception is:
         weblogic.xml.crypto.wss.WSSecurityException: Unable to add security token for identity
         at com.bea.wsrp.proxy.WseeProxy.dispatch(WseeProxy.java:274)
         at com.bea.wsrp.proxy.WseeProxy.sendMessage(WseeProxy.java:131)
         at com.bea.wsrp.proxy.WseeProxy.dispatch(WseeProxy.java:103)
         at com.bea.wsrp.proxy.ProxyBase.invoke(ProxyBase.java:438)
         at $Proxy83.getServiceDescription(Unknown Source)
         at com.bea.wsrp.client.ProducerAgentImpl.getServiceDescription(ProducerAgentImpl.java:93)
         at com.bea.wsrp.client.ProducerAgentImpl.getServiceDescription(ProducerAgentImpl.java:55)
         at com.bea.jsptools.portal.helpers.wsrp.ProducerRegistryControlImpl.getServiceDescription(ProducerRegistryControlImpl.java:205)
         at com.bea.jsptools.portal.helpers.wsrp.ProducerRegistryControlBean.getServiceDescription(ProducerRegistryControlBean.java:133)
         at com.bea.jsptools.portal.helpers.wsrp.AddProducerHelper.getProducerForWsdl(AddProducerHelper.java:704)
         ... 80 more
    Caused by: weblogic.xml.crypto.wss.WSSecurityException: Unable to add security token for identity
         at weblogic.wsee.security.wss.SecurityPolicyDriver.processIdentity(SecurityPolicyDriver.java:175)
         at weblogic.wsee.security.wss.SecurityPolicyDriver.processOutbound(SecurityPolicyDriver.java:73)
         at weblogic.wsee.security.WssClientHandler.processOutbound(WssClientHandler.java:69)
         at weblogic.wsee.security.WssClientHandler.processRequest(WssClientHandler.java:53)
         at weblogic.wsee.security.WssHandler.handleRequest(WssHandler.java:72)
         at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:127)
         at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:100)
         at weblogic.wsee.ws.dispatch.client.ClientDispatcher.dispatch(ClientDispatcher.java:101)
         at com.bea.wsrp.proxy.WseeProxy.dispatch(WseeProxy.java:236)
         ... 89 more
    and this is the content of the wsdl
    <s0:definitions name="" targetNamespace="urn:oasis:names:tc:wsrp:v1:wsdl">
    <s0:import location="http://esmadaix01:7001/fportlets/producer/wsrp-1.0/markup?WSDL/wlp_wsrp_v1_bindings.wsdl" namespace="urn:bea:wsrp:ext:v1:bind"/>
    <s0:import location="http://esmadaix01:7001/fportlets/producer/wsrp-1.0/markup?WSDL/wsrp_v1_bindings.wsdl" namespace="urn:oasis:names:tc:wsrp:v1:bind"/>
    <s1:Policy s2:Id="ProducerDefaultPolicy">
         <s1:All>
         <wssp:Identity>
         <wssp:SupportedTokens>
    <wssp:SecurityToken TokenType="http://docs.oasis-open.org/wss/2004/01/oasis-2004-01-saml-token-profile-1.0#SAMLAssertionID">
         <wssp:Claims>
    <wssp:ConfirmationMethod>sender-vouches</wssp:ConfirmationMethod>
    </wssp:Claims>
    </wssp:SecurityToken>
    </wssp:SupportedTokens>
    </wssp:Identity>
    </s1:All>
    </s1:Policy>
    <wsp:UsingPolicy s0:Required="true"/>
    <s0:service name="WSRPService">
    <s0:port binding="s3:WSRP_v1_Markup_Binding_SOAP" name="WSRPBaseService">
    <s4:address location="http://esmadaix01:7001/fportlets/producer/wsrp-1.0/markup"/>
    </s0:port>
    <s0:port binding="s3:WSRP_v1_ServiceDescription_Binding_SOAP" name="WSRPServiceDescriptionService">
    <s4:address location="http://esmadaix01:7001/fportlets/producer/wsrp-1.0/serviceDescription"/>
    </s0:port>
    <s0:port binding="s3:WSRP_v1_Registration_Binding_SOAP" name="WSRPRegistrationService">
    <s4:address location="http://esmadaix01:7001/fportlets/producer/wsrp-1.0/registration"/>
    </s0:port>
    <s0:port binding="s3:WSRP_v1_PortletManagement_Binding_SOAP" name="WSRPPortletManagementService">
    <s4:address location="http://esmadaix01:7001/fportlets/producer/wsrp-1.0/portletManagement"/>
    </s0:port>
    <s0:port binding="s5:WLP_WSRP_v1_Markup_Ext_Binding_SOAP" name="WLP_WSRP_Ext_Service">
    <s4:address location="http://esmadaix01:7001/fportlets/producer/wsrp-wlp-ext-1.0/markup"/>
    </s0:port>
    </s0:service>
    </s0:definitions>
    I don't know what to do..., please help!!
    Thanks in advance for your help.

    I also have a similar problem with ALSB, I'm trying to call a service which is signed with usernameToken, i created a service account, and passed the remote username and password, but unfortunatily i get the follownig error:
    <Dec 24, 2007 10:49:52 AM GST> <Info> <Server> <BEA-002605> <Adding address: 83.
    110.15.81 to licensed client list>
    <Dec 24, 2007 10:50:00 AM GST> <Warning> <netuix> <BEA-423430> <The portal <dire
    ctive.page> element has been deprecated. You can set the page encoding on the <n
    etuix:desktop> element.>
    <Dec 24, 2007 10:50:02 AM GST> <Warning> <netuix> <BEA-423420> <Redirect is exec
    uted in begin or refresh action. Redirect url is jsp/login/index.jsp.>
    <Dec 24, 2007 10:50:07 AM GST> <Info> <JMX> <BEA-149505> <The administration ser
    ver was unable to establish JMX Connectivity with the Server1 at the JMX Service
    URL of <none>.>
    <Dec 24, 2007 10:50:09 AM GST> <Notice> <Stdout> <000000> <nl.ikarus.nxt.priv.im
    ageio.icoreader.lib.ICOReader loaded, version: 0.06.064 build: 691>
    <Dec 24, 2007 10:50:24 AM GST> <Info> <Health> <BEA-310002> <54% of the total me
    mory in the server is free>
    <Dec 24, 2007 10:50:25 AM GST> <Warning> <netuix> <BEA-423430> <The portal <dire
    ctive.page> element has been deprecated. You can set the page encoding on the <n
    etuix:desktop> element.>
    <Dec 24, 2007 10:50:40 AM GST> <Info> <ALSB Security> <BEA-387027> <Message-leve
    l access control policy grants access to proxy "Fadia/ADTA/PSMine", operation "S
    endSMS", message-id: 7380087946135603967-36ae4590.1170ae9bb75.-7ff3, subject: Su
    bject: 3
    Principal = class weblogic.security.principal.WLSUserImpl("weblogic")
    Principal = class weblogic.security.principal.WLSGroupImpl("Administrato
    rs")
    Principal = class weblogic.security.principal.WLSGroupImpl("IntegrationA
    dministrators")
    .>
    <Dec 24, 2007 10:50:40 AM GST> <Error> <ALSB Security> <BEA-387024> <An error oc
    urred during web service security outbound request processing [error-code: Fault
    , message-id: 7380087946135603967-36ae4590.1170ae9bb75.-7ff3, proxy: Fadia/ADTA/
    PSMine, target: Fadia/ADTA/BSsmsMINE, operation: SendSMS]
    --- Error message:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soa
    penv:Header/><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server</faultcode><
    faultstring>Unable to add security token for identity</faultstring></soapenv:Fau
    lt></soapenv:Body></soapenv:Envelope>
    weblogic.xml.crypto.wss.WSSecurityException: Unable to add security token for id
    entity
    at weblogic.wsee.security.wss.SecurityPolicyDriver.processIdentity(Secur
    ityPolicyDriver.java:175)
    at weblogic.wsee.security.wss.SecurityPolicyDriver.processOutbound(Secur
    ityPolicyDriver.java:73)
    at weblogic.wsee.security.WssClientHandler.processOutbound(WssClientHand
    ler.java:69)
    at weblogic.wsee.security.WssClientHandler.processRequest(WssClientHandl
    er.java:53)
    at weblogic.wsee.security.WssHandler.handleRequest(WssHandler.java:72)
    at com.bea.wli.sb.security.wss.WssOutboundHandler$1.run(WssOutboundHandl
    er.java:140)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
    dSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
    147)
    at com.bea.wli.sb.security.wss.WssOutboundHandler.processRequest(WssOutb
    oundHandler.java:138)
    at com.bea.wli.sb.security.wss.WssHandlerImpl.doOutboundRequest(WssHandl
    erImpl.java:901)
    at com.bea.wli.sb.context.BindingLayerImpl.createTransportSender(Binding
    LayerImpl.java:487)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.doDispatch(PipelineContex
    tImpl.java:501)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.dispatch(PipelineContextI
    mpl.java:488)
    at stages.routing.runtime.RouteRuntimeStep.processMessage(RouteRuntimeSt
    ep.java:127)
    at com.bea.wli.sb.stages.StageMetadataImpl$WrapperRuntimeStep.processMes
    sage(StageMetadataImpl.java:319)
    at com.bea.wli.sb.pipeline.RouteNode.doRequest(RouteNode.java:108)
    at com.bea.wli.sb.pipeline.Node.processMessage(Node.java:68)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextIm
    pl.java:834)
    at com.bea.wli.sb.pipeline.Router.processMessage(Router.java:194)
    at com.bea.wli.sb.pipeline.MessageProcessor.processRequest(MessageProces
    sor.java:75)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:669)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:668)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
    dSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
    147)
    at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.ja
    va:666)
    at com.bea.wli.sb.test.service.ServiceMessageSender.send0(ServiceMessage
    Sender.java:265)
    at com.bea.wli.sb.test.service.ServiceMessageSender.access$000(ServiceMe
    ssageSender.java:86)
    at com.bea.wli.sb.test.service.ServiceMessageSender$1.run(ServiceMessage
    Sender.java:124)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
    dSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
    147)
    at com.bea.wli.sb.test.service.ServiceMessageSender.send(ServiceMessageS
    ender.java:127)
    at com.bea.wli.sb.test.service.ServiceProcessor.invoke(ServiceProcessor.
    java:404)
    at com.bea.wli.sb.test.TestServiceImpl.invoke(TestServiceImpl.java:163)
    at com.bea.wli.sb.test.client.ejb.TestServiceEJBBean.invoke(TestServiceE
    JBBean.java:138)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl.invoke(TestS
    ervice_sqr59p_EOImpl.java:427)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_WLSkel.invok
    e(Unknown Source)
    at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:17
    4)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef
    .java:335)
    at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef
    .java:252)
    at com.bea.wli.sb.test.client.ejb.TestService_sqr59p_EOImpl_921_WLStub.i
    nvoke(Unknown Source)
    at com.bea.wli.sb.console.test.TestServiceClient.invoke(TestServiceClien
    t.java:178)
    at com.bea.wli.sb.console.test.actions.DefaultRequestAction.invoke(Defau
    ltRequestAction.java:117)
    at com.bea.wli.sb.console.test.actions.DefaultRequestAction.execute(Defa
    ultRequestAction.java:70)
    at org.apache.struts.action.RequestProcessor.processActionPerform(Reques
    tProcessor.java:419)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201
    (PageFlowRequestProcessor.java:95)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunn
    er.execute(PageFlowRequestProcessor.java:2042)
    at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionI
    nterceptors.wrapAction(ActionInterceptors.java:90)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processAct
    ionPerform(PageFlowRequestProcessor.java:2114)
    at com.bea.wli.common.base.SBConsoleRequestProcessor.processActionPerfor
    m(SBConsoleRequestProcessor.java:78)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
    va:224)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInt
    ernal(PageFlowRequestProcessor.java:554)
    at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(Pa
    geFlowRequestProcessor.java:851)
    at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(A
    utoRegisterActionServlet.java:630)
    at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageF
    lowActionServlet.java:157)
    at com.bea.console.internal.ConsoleActionServlet.process(ConsoleActionSe
    rvlet.java:241)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    at com.bea.console.internal.ConsoleActionServlet.doGet(ConsoleActionServ
    let.java:130)
    at com.bea.wli.common.base.SBConsoleActionServlet.doGet(SBConsoleActionS
    ervlet.java:58)
    at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlow
    Utils.java:1169)
    at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.exec
    uteAction(ScopedContentCommonSupport.java:688)
    at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.proc
    essActionInternal(ScopedContentCommonSupport.java:144)
    at com.bea.portlet.adapter.scopedcontent.StrutsStubImpl.processAction(St
    rutsStubImpl.java:76)
    at com.bea.portlet.adapter.NetuiActionHandler.raiseScopedAction(NetuiAct
    ionHandler.java:99)
    at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedActi
    on(NetuiContent.java:180)
    at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedActi
    on(NetuiContent.java:168)
    at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackD
    ata(NetuiContent.java:222)
    at com.bea.netuix.nf.ControlLifecycle$2.visit(ControlLifecycle.java:178)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:351)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.j
    ava:361)
    at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:128)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:339)
    at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:330)
    at com.bea.netuix.nf.Lifecycle.runInbound(Lifecycle.java:162)
    at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:137)
    at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java
    :370)
    at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:229)
    at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:183)
    at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileS
    ervlet.java:221)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at weblogic.servlet.AsyncInitServlet.service(AsyncInitServlet.java:124)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run
    (StubSecurityHelper.java:223)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecuri
    tyHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.jav
    a:283)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
    va:42)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsF
    ilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
    va:42)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
    n.run(WebAppServletContext.java:3243)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
    dSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
    121)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppS
    ervletContext.java:2003)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletC
    ontext.java:1909)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.j
    ava:1359)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
    >
    PLEASE PEASE HELP

Maybe you are looking for

  • SSo between Portal 6.0 and  Portal 7.0

    Hi, We want to enable single sign on between Portal 6.0 and  Portal 7.0. Our scenario is, In Portal 7.0 on click of  role or workset, Portal 6.0 have to be opened in a new window without asking user ID and Password. What are the steps, I need to foll

  • HP 1050C plotter intall for Windows 8.1

    I cannot get this plotter to print. It is listed as unsupported by Windows 8 but hope to find a work-around solution.  Has anyone resolved this issue?  Suggestions  much appreciated.

  • How can i enable java in Safari 7.0.4

    There is one web-site I like that uses Java for their webcam. I want to enable Java just for that site. How can I do it? I've gone to Safari Prefs--->Security and enabled Java to run on that site in unsafe mode (always allow) on other websites its bl

  • Output of the query

    Hi, Good day! when the user running  the query from favourate directly executing the query with out asking  variable screen so it taking lot of time. where i need to set a options regards sivaraju

  • Unable to download Dreamweaver (Was: Dreamweaver)

    I have just paid for the Dreamweaver package but when i press download it doesn't run script why is this?