Portlet url

how to get portlet url (jsp) in oracle portal ... somethin like ... http://www.test.site/portal/page?_pageid=56,1&_dad=portal&_schema=PORTAL not deployment url http://www.test.site/app_name/test.jsp that i can get with getUrl() method

If you are using the correct version of Struts taglib, this rewriting
should happen automatically. Can you check if the taglib tld points to
com.bea. classes?
Subbu
Joanny CHRIST wrote:
Hi there,
I???m having problem to find out which API I have to use to make my producer write the URL using the consumer???s urlTemplate.
I have a basic Struts portlet with two forward (to a JSP) actions, I need to find a way to use the urlTemplate from the consumer (I do receive the good SOAP message with those templates from the consumer) to make my producer re-write the url (href to next.do in a JSP).
My consumer is running on a bea Weblogic Portal 8.1 and my WSRP (simple) producer on a Weblogic server 8.1
I did not find any example in the whole bea documentation and I hope that some of you may have experienced it.
Thank you.
Joanny

Similar Messages

  • Urgent: get http settings portlet url for a portlet

    I need to get the portlet url that we enter for a webservice in Main settings -HTTP settings for a web service through code. I have the web service object id. Is this possible ?
    Edited by: Manjeera on May 23, 2010 10:03 PM
    Edited by: Manjeera on May 23, 2010 10:03 PM

    consider this code:
    IPTWebService ptWebService = (IPTWebService) ((IPTSession) m_asOwner.GetUserSession()).GetWebServices().Open(nWebServiceID, false);
    String strUrl = ptWebService.GetAbsoluteURL(PlumtreeExtensibility.PT_PROPBAG_HTTPGADGET_URL);
    strUrl contain complete url (remote server + gadget url)
    I hope this will help you.
    Marcin

  • Portlet Url writing with a Weblogic Server as WSRP Producer

    Hi there,
    I’m having problem to find out which API I have to use to make my producer write the URL using the consumer’s urlTemplate.
    I have a basic Struts portlet with two forward (to a JSP) actions, I need to find a way to use the urlTemplate from the consumer (I do receive the good SOAP message with those templates from the consumer) to make my producer re-write the url (href to next.do in a JSP).
    My consumer is running on a bea Weblogic Portal 8.1 and my WSRP (simple) producer on a Weblogic server 8.1
    I did not find any example in the whole bea documentation and I hope that some of you may have experienced it.
    Thank you.
    Joanny

    If you are using the correct version of Struts taglib, this rewriting
    should happen automatically. Can you check if the taglib tld points to
    com.bea. classes?
    Subbu
    Joanny CHRIST wrote:
    Hi there,
    I???m having problem to find out which API I have to use to make my producer write the URL using the consumer???s urlTemplate.
    I have a basic Struts portlet with two forward (to a JSP) actions, I need to find a way to use the urlTemplate from the consumer (I do receive the good SOAP message with those templates from the consumer) to make my producer re-write the url (href to next.do in a JSP).
    My consumer is running on a bea Weblogic Portal 8.1 and my WSRP (simple) producer on a Weblogic server 8.1
    I did not find any example in the whole bea documentation and I hope that some of you may have experienced it.
    Thank you.
    Joanny

  • Struts portlet url posting

    Hi all,
    I am experimenting with a struts file upload portlet, trying to work around the fact that file upload directly to the PPE is not supported. Things work (quite) fine when I use the Struts HTML form (instead of the PDK Struts HTML) tag for the form element and add target=_new, so the page submits to a new window. This popup can be closed after a succesful file upload and we're (quite) fine.
    However, I'd like to submit to a struts (non-portal) page in the same window and return to a portal page afterwards. Using the non-pdk struts tags like mentioned above does already provide me the ability to treat the file as I wish, but I just don't find a way to get back into the portal. I could just try and do with javascript back-navigation, but this is not really desirable as it just takes me back to the form. What I'd like to do is to go to just another struts action from the Action class to which the page is submitted, for example by using a response.sendRedirect() command. The thing is I haven't found a way to get the appropriate URL there. If I could just have it as an extra property of the form I'm submitting, that'd be dead simple, but doing it inside a hidden-tag (or any other) in a JSP document seems to have the side-effect that it's overwritten by the default form value from the form bean (which cannot be page dependent). If I add the value as a plain HTML variable (no struts or other tags at all, just HTML), it doesn't show up in request.getParameter(parname)...
    Does anyone have any suggestions on how to take the value of <phtml:rewrite forward="ok" /> or mappings.findForward("ok") into my action class at runtime ?
    Or has anyone any better ideas on how to circumvent the upload limitations for java portlets ?
    Thanks in advance !
    Best regards
    Benjamin

    When constructing links, you have to use the pdk-specific struts tags, for example:
    <pdk-struts-html:link href="/portal/menuPage.do">Also, you need to use the pdk struts tag library:
    <%@ taglib uri="/WEB-INF/pdk-struts-html.tld" prefix="pdk-struts-html" %>Peter

  • Default provider/portlet URL where register to another Portal or OCS?

    I am trying to register a portlet provider on a Portal into a Oracle Collaboration Suite.
    How can I find out the URL of the protlet provider?
    The portal url is like: http://my-url:7777/pls/portal/
    Looks like everybody knows it since the instruction didn't even mentione, but it puzzled me for a while, could get any provider registered so far :(
    Thanks!

    Actually, the issue turned out to be a port (7777) that was blocked FROM the database TO the apps server. I guess that when the portalprovider tried to register the value in the database and the database could not access the site due to firewall rules, it threw that error. After we opened that port in that direction, it worked just fine.
    Thanks,
    Scott

  • Gatewayed portlet url - 5.0.2

    I need to consturct a fully gatewayed url to a portlet. In our onAfterLogin PEI we will need to redirect to a gatewayed "profiling" portlet. Help please?
    Thanks,Jason Odom

    When I run the code above, this is the gatewayed URL returned (as a redirect):
    http://localhost/portal/server.pt/gateway/PTARGS_0_4204_369_0_0_43/http%3B/portletprod.cei.cox.com/Gadgets/CEI/Custom/AdminTools/Profile/gadget.aspx
    My portlet ID is 336. I am not sure what the 4204 and 43 correspond to. Point is, it's working, but not as expected. 369 is the portletID of a Daily News portlet, not our profiling portlet (but the profiling portlet displays in the redirected URL). If I leave the portletID of the profiling portlet (336), I get an extended error that tells me the portlet has been disabled, which is not true. I can also put in 370 as the portletID and it works (portletID of Employee Directory portlet), but if I put in 10000 (no corresponding portlet) it does not. I need to understand why this works, not just that it does work. Any ideas?Thanks,Jason Odom

  • How do I pass a parameter to a portlet on the URL?

    I have a portlet on one tab that searches for parts. (This portlet is written and maintained by someone else.) When a user clicks on a part number in the result set on this portlet they need to be taken to another tab (different portlet on the same page) with that part number as a parameter. The second portlet then dynamically writes an
    <iframe src="http://someurl?partnumber=xyz" />
    to call an external application passing the part number as a URL parameter to the external application.
    Writing the <iframe /> dynamically is no problem. The problem is passing the part number from one portlet to another. We planned to do this by using hrefs in the part search portal using URLs like
    http://hostname:port/pls/portal/url/page/test1/portlet2?partnumber=xyz
    for each part number. The problem is that the URL parameter doesn't get passed to the second portlet. Here is the code in the second portlet:
    <%
    PortletRenderRequest portletRenderRequest =
    (PortletRenderRequest)request.getAttribute("oracle.portal.PortletRenderRequest");
    String partnumber = portletRenderRequest.getQualifiedParameter("partnumber");
    %>
    It always sees null for the partnumber parameter.
    I also have <passAllUrlParams>true</passAllUrlParams> in provider.xml.
    I've tried checking this by calling the URL of the second portlet directly from a browser. The portlet sees the partnumber parameter as null, but the URL window in the browser returns the modified URL from the portal with the partnumber parameter set properly. Portal is seeing the parameter but not passing it to the portlet.
    I haven't tried actually setting the in the first portlet and seeing if it all works when called from inside the portal, but I don't see why it shouldn't work by calling the second portlet URL directly with a parameter.
    Am I missing some step in order to pass a parameter from one portlet to another? The parameters I have to pass are dynamic, based on the result set returned by a search in the first portlet.

    My second to last paragraph should have been:
    "I haven't tried actually setting the hrefs in the first portlet and seeing if it all works when called from inside the portal, but I don't see why it shouldn't work by calling the second portlet URL directly with a parameter."

  • How to handle response.sendRedirect(url) in a portlet w/ webflow?

    I am using a webflow to navigate within a portlet. There are three jsp pages or
    nodes in the portlet. One of the jsp pages has the following logic:
    if (A) { response.sendRedirect(url1)}
    else if(B) { response.sendRedirect(url2)}
    else{display rest of this jsp page}
    I think I have the correct portlet urls. I used WebflowJSPHelper.createWebflowURL(...).
    The problem is when it tries to redirect, the whole portlet disapears leaving
    only the title bar. I check the weblogic log file and there is an exception about
    RuleSetNotFoundException. Does anybody know how to handle this problem? Can
    I use sendRedirect method in a portlet?
    thanks,

    Go to dev2dev.bea.com source code library and copy the redirect sample code in
    your application domain. This program expects you to make come changes in the
    portal workflow.
    ciao
    "Edoardo Boechat" <[email protected]> wrote:
    >
    Dear James,
    Maybe I'll be boring, but I'll give you my expirience with "sendRedirect".
    When you use sendRedirect you send back to the browser a new URL that
    him will
    use to obtain the content that will be exposed, in other words, It's
    a client
    side operation.
    The portlet machanism work on the server side of the application. So
    why you are
    using sendRedirect? If one of that conditions happen, are you interesting
    in expose
    a content of another web site?
    If you want to expose the content of another web site, use the wizard
    to generate
    a example jsp page who do this correct in a portlet and adapt the code
    to your
    situation.
    Otherwise, you are using a wrong concept. If it's a server side operation
    you
    need to use "forward" or "include" operation to do what you want.
    I expect be helpfull,
    Edoardo Boechat.
    "James" <[email protected]> wrote:
    I am using a webflow to navigate within a portlet. There are threejsp
    pages or
    nodes in the portlet. One of the jsp pages has the following logic:
    if (A) { response.sendRedirect(url1)}
    else if(B) { response.sendRedirect(url2)}
    else{display rest of this jsp page}
    I think I have the correct portlet urls. I used WebflowJSPHelper.createWebflowURL(...).
    The problem is when it tries to redirect, the whole portlet disapears
    leaving
    only the title bar. I check the weblogic log file and there is an exception
    about
    RuleSetNotFoundException. Does anybody know how to handle this problem?
    Can
    I use sendRedirect method in a portlet?
    thanks,

  • Creating URL to WSRP Portlet in wsrp:solo windowstate

    Hi,
    I would like to create a Portlet URL in <b>wsrp:solo</b> window state to the same portlet.
    Is there any suitable tag available in weblogic portal.
    I am using weblogic portal workshop to create the WSRP remote portlet .
    Can I use JSP based WSRP remote portlet for achiveing the requirement mentioned above?
    Chakri

    What is the use case for the solo state? In WLP, the equivalent is the
    float window state.
    Subbu
    Tutika chakravarty wrote:
    Hi,
    I would like to create a Portlet URL in <b>wsrp:solo</b> window state to the same portlet.
    Is there any suitable tag available in weblogic portal.
    I am using weblogic portal workshop to create the WSRP remote portlet .
    Can I use JSP based WSRP remote portlet for achiveing the requirement mentioned above?
    Chakri

  • 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

  • Error While trying to Float a Portlet

    I am trying to float a JSR 168 Portlet by creating a Standalone Portlet Url tag
    < a href="<render:standalonePortletUrl/>" id="floaturl">Float</a >
    the url formed is something like this...
    http://emagwsd02.corpny.csfb.com:1156/bPortal/portlets/customizedReporting/ReportingPlatformPortlet.portlet?_windowLabel=ReportingPlatformPortlet_5&
    portlet.title=%3Cspan+id%3D%27Ct_ReportingPlatformPortlet_5%27%3EReporting+Platform+Portlet%3C%2Fspan%3E&
    _portlet.skeleton=UNO&
    _portlet.skeletonPath=%2Fframework%2Fskeletons&
    _portlet.skin=UNO&
    portlet.skinPath=%2Fframework%2Fskins%2F&portlet.themeName=borderless_crystal&
    _portlet.themeAltSkeleton=true&
    _portlet.themeAltSkin=true&
    portlet.themeSkeletonPath=%2Fframework%2Fskeletons%2FUNO%2Fborderlesscrystal&
    portlet.themeSkinPath=%2Fframework%2Fskins%2FUNO%2Fborderlesscrystal
    The problem that I am facing is that, when I try to open the url,
    the Page throws a Java script error ( Object Required ) at the following line
    < span class="bea-portal-theme-borderless_crystal" >
    in the JSP.
    any help or info on this is appreciated.
    Thanks
    GVS
    Message was edited by:
    gvsc

    JavaScript != javareplace or redirect ??

  • Portlet unavailable error in Webcenter application

    I have developed a portlet application by using wsrp standand-based java portlet in the windows environment. There is no problem when I deployed the application to the preconfigured webcenter oc4j in JDeveloper 10.1.3.3.0.
    But when I deployed it to the webcenter suite which is also installed in the windows, I have got portlet unavailable error.
    I have already used the predeployment tools to change the portlet url endpoint so that it points to the webcenter portlet producers.
    <!--Unable to get portlet response (Internal Error) for portlet binding ParameterFormPortlet1_1oracle.portlet.client.container.PortletRemoteException: oracle.portlet.server.container.InvalidRegistrationException: oracle.portlet.wsrp.v2.InvalidRegistrationException: oracle.portlet.wsrp.v2.soap.InvalidRegistration
         at oracle.portlet.client.techimpl.wsrp.WSRPBaseTerminalPipe.processException(WSRPBaseTerminalPipe.java:37)
         at oracle.portlet.client.techimpl.wsrp.WSRPGetMarkupPipe.execute(WSRPGetMarkupPipe.java:192)
         at oracle.portlet.client.techimpl.wsrp.WSRPGetMarkupPipe.pre(WSRPGetMarkupPipe.java:55)
         at oracle.portlet.client.service.pipeline.PipeContext.internalExecute2(PipeContext.java:519)
         at oracle.portlet.client.service.pipeline.PipeContext.internalExecute(PipeContext.java:406)
         at oracle.portlet.client.service.pipeline.PipeContextRunnable.run(PipeContextRunnable.java:23)
         at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:431)
         at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
         at oracle.portlet.client.service.pipeline.ModifiedThreadPoolExecutor$Worker.runTask(ModifiedThreadPoolExecutor.java:398)
         at oracle.portlet.client.service.pipeline.ModifiedThreadPoolExecutor$Worker.run(ModifiedThreadPoolExecutor.java:423)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: oracle.portlet.server.container.InvalidRegistrationException: oracle.portlet.wsrp.v2.InvalidRegistrationException: oracle.portlet.wsrp.v2.soap.InvalidRegistration
         at oracle.portlet.wsrp.v2.ServerToWSRPv2.getMarkup(ServerToWSRPv2.java:13574)
         at oracle.portlet.client.connection.wsrp.ActivityServerWrapper.getMarkup(ActivityServerWrapper.java:1382)
         at oracle.portlet.client.techimpl.wsrp.WSRPGetMarkupPipe.execute(WSRPGetMarkupPipe.java:119)

    Have you tried deploying the portlet to the application server, consume this portlet producer in your development environment (JDeveloper), and deploy the application without re-wiring the portlet producer connection?
    This approach may take us closer to the problem.
    Also, a full stack trace would be helpful too.
    Peter

  • Announcing: Developing JSF Portlets with WebLogic Portal Whitepaper

    Just Released: Developing JSF Portlets with WebLogic Portal Whitepaper
    A supplemental developer's guide has been published to help guide WLP 10.x customers that wish to use JSF as the web framework for building portlets on WebLogic Portal. This is a sizable document (150 pages) that covers a large number of topics. It also coaches developers on best practices and common pitfalls.
    Important: It also clarifies the supported configuration of JSF within Portal Web Projects. Workshop for WebLogic by default configures a web project in a configuration that is not supported by WebLogic Portal. The guide explains how to address this:
    * Change from the unsupported MyFaces JSF implementation to the supported Sun Reference Implementation (RI)
    * Change from the unsupported "client" STATE_SAVING_METHOD to the supported "server"
    The guide can be downloaded here:
    http://download.oracle.com/technology/products/weblogic/portal/weblogic-portal-jsf-whitepaper.pdf
    To help internet searches locate this document, the table of contents is reproduced below:
    Introduction
    1.1. Prerequisites...................................................................... 8
    1.2. Applicable Versions............................................................ 8
    1.3. Native Portlet Bridges and Standard Portlet Bridges .......... 8
    1.4. JSF Portlet Support Roadmap ........................................... 9
    1.5. Whitepaper Structure ....................................................... 10
    1.6. Look Before You Leap ..................................................... 10
    1.7. For More Information........................................................ 10
    Part 1: Converting JSF Applications into Portlets
    2. IDE Support for JSF Portlets Chapter ...................................... 12
    2.1. Workshop for WebLogic – WebLogic Portal's Supported IDE 12
    2.2. Workshop Features for JSF Support in WebLogic Portal.. 12
    3. Introduction to JSF Portlets Chapter ........................................ 18
    3.1. Creating Your First JSF Portlet......................................... 18
    3.2. Essentials of JSF Portlet Views........................................ 21
    3.3. WebLogic Portal Artifacts................................................. 22
    4. Configuring JSF within WebLogic Portal Chapter..................... 24
    4.1. JSF Library Modules in WebLogic Server ........................ 24
    4.2. Installing the JSF Libraries into a Portal Web Project ....... 25
    4.3. JSF Configuration Settings............................................... 27
    4.4. Configuring JSF 1.2 ......................................................... 29
    4.5. Building an Unsupported JSF Implementation Library Module 31
    4.6. Faces Configuration is Web Application Scoped.............. 31
    5. Navigation within a JSF Portlet Chapter................................... 33
    5.1. Navigating within a Portlet with the JSF Controller ........... 33
    5.2. Redirects.......................................................................... 34
    6. Namespacing Chapter ............................................................. 35
    6.1. Namespacing Managed Bean Names.............................. 35
    6.2. Client ID Namespacing with the View and Subview Components 35
    6.3. Client ID Namespacing with the WLP NamingContainer .. 36
    7. Logging, Iterative Development, and Debugging Chapter ........ 39
    7.1. Logging............................................................................ 39
    7.2. Iterative Development ...................................................... 39
    7.3. Debugging ....................................................................... 40
    8. Custom JavaScript Chapter ..................................................... 42
    8.1. DOM Manipulation within a JSF ....................................... 42
    8.2. Form Validation within a JSF Portlet ................................ 45
    9. Preparing JSF Portlets for Production Chapter ........................ 46
    9.1. Configuration.................................................................... 46
    9.2. Performance and Scalability............................................. 47
    9.3. Security............................................................................ 49
    9.4. Localization...................................................................... 50
    Part 2: Interacting with the Portal Environment
    10. Native Bridge Architecture Chapter ...................................... 54
    10.1. Container Architecture Overview.................................. 54
    10.2. Container Architecture.................................................. 54
    10.3. Container Interactions .................................................. 55
    11. Interportlet Communication Chapter .................................... 56
    11.1. Using Session and Request Attributes for IPC (Anti-pattern) 56
    11.2. Using the WLP Event Facility for IPC with JSF Portlets 56
    11.3. Notifications ................................................................. 60
    11.4. Comparison of the IPC Approaches ............................. 60
    12. Scopes Chapter ................................................................... 62
    12.1. Conceptual Scopes for Standard JSF Applications ...... 62
    12.2. Conceptual Scopes for Portal Applications................... 63
    12.3. Implementation Patterns for Portal Scopes .................. 63
    13. State Sharing Patterns Chapter ........................................... 66
    13.1. State Sharing Concepts ............................................... 66
    13.2. HttpSession Versus HttpServletRequest ...................... 66
    13.3. Base Code for HttpSession Patterns ............................ 67
    13.4. Single Portlet Pattern ................................................... 68
    13.5. Multiple Portlet Patterns ............................................... 69
    14. Rendering Lifecycles Chapter .............................................. 77
    14.1. WLP and JSF Lifecycles .............................................. 77
    14.2. Invocation Order of WLP and JSF Lifecycle Methods... 77
    14.3. Accessing WLP Context Objects from JSF Managed Beans 78
    15. Portal Navigation Chapter .................................................... 80
    15.1. Programmatically Constructing JSF Portlet URLs ........ 80
    15.2. Changing the Active Portal Page.................................. 80
    15.3. Redirects within a Portal............................................... 83
    16. Ajax Enablement Chapter .................................................... 85
    16.1. Ajax in JSF Portlets...................................................... 85
    16.2. Partial Page Rendering Pattern.................................... 85
    16.3. Stateless API Request Pattern ..................................... 86
    16.4. Portlet Aware API Request Pattern .............................. 87
    16.5. Controlling the WLP Ajax Framework........................... 91
    17. Additional WLP Features Chapter........................................ 93
    17.2. Portlet Container Features ........................................... 93
    17.3. Portal Container Features ............................................ 98
    18. Example: Implementing a Login Portlet Chapter .................. 99
    18.1. Login Portlet Motivation................................................ 99
    18.2. Login Portlet Design..................................................... 99
    18.3. Login Portlet Implementation...................................... 101
    Part 3: Integrating Third Party Libraries
    19. Integration Overview Chapter............................................. 111
    19.1. Types of Libraries....................................................... 111
    19.2. Roadmap for MyFaces Trinidad and ADF Faces Rich Client 111
    20. Using the Facelets View Technology Chapter.................... 113
    20.1. Introduction to Facelets .............................................. 113
    20.2. Configuring Facelets Support ..................................... 113
    21. Using the Apache MyFaces Tomahawk Component Library Chapter 115
    21.1. What is Apache MyFaces Tomahawk? ...................... 115
    21.2. Support for Tomahawk in WLP................................... 115
    21.3. Tomahawk Component List........................................ 116
    21.4. Installing and Configuring Tomahawk......................... 119
    21.5. Resolving the Duplicate ID Issue................................ 120
    21.6. Referring to Resources .............................................. 120
    21.7. forceId Attribute.......................................................... 124
    21.8. File Upload................................................................. 125
    22. Using the Apache Beehive Navigation Controller Chapter . 126
    22.1. Apache Beehive Page Flow ....................................... 126
    22.2. JSF and Page Flows .................................................. 126
    22.3. Configuring the JSF Integration with Page Flows ....... 127
    Appendices
    23. Appendix 1: Consolidated List of Best Practices ................ 130
    24. Appendix 2: Known Issues and Workarounds.................... 132
    24.1. CR383659, CR383662 Inconsistent failures with JSF portlets 132
    24.2. CR342124: IllegalStateException due to duplicate client-id 132
    24.3. CR384916: IllegalStateException due to duplicate client-id when using certain components such as Tomahawk and Trinidad...... 133
    24.4. CR361477 Problems with the integration of JSF portlets with Apache Beehive Page Flows.................................................................. 133
    24.5. CR377945 JSF 1.2 suffers from a memory leak during iterative development .............................................................................. 134
    25. Appendix 3: The JSFPortletHelper Class ........................... 135
    26. Appendix 4: The CleanupPhaseListener Class .................. 147

    Hi Peter!
    First, I wish to thank you for the great work.
    We followed your whitepaper and managed to deploy a JSF portlet on WLS.
    But we are not able to register it (consume it) as remote portlet in Oracle Portal 10.1.4. The error log is as follows:
    An error occurred while trying to refresh the provider. (WWC-43190)
    An error occurred during the call to the WSRP Provider:
    java.rmi.RemoteException: serialization error: serialization error:
    unexpected null value for literal data; nested exception is:
    serialization error: serialization error: unexpected null value for literal data
    com.sun.xml.rpc.encoding.SerializationException: serialization error:
    serialization error: unexpected null value for literal data
    com.sun.xml.rpc.encoding.SerializationException: serialization error:
    unexpected null value for literal data
    Java stack trace from root exception:
    unexpected null value for literal data
    at
    oracle.webdb.wsrp.RegistrationContext_LiteralSerializer.doSerialize(RegistrationContext_LiteralSerializer.java:107)
    at
    com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.internalSerialize(LiteralObjectSerializerBase.java:119)
    at
    com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.serialize(LiteralObjectSerializerBase.java:70)
    at
    oracle.webdb.wsrp.GetServiceDescription_LiteralSerializer.doSerialize(GetServiceDescription_LiteralSerializer.java:88)
    at
    com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.internalSerialize(LiteralObjectSerializerBase.java:119)
    at
    com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.serialize(LiteralObjectSerializerBase.java:70)
    at
    com.sun.xml.rpc.client.StreamingSender._writeRequest(StreamingSender.java:473)
    at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:62)
    at
    oracle.webdb.wsrp.WSRP_v1_ServiceDescription_PortType_Stub.getServiceDescription(WSRP_v1_ServiceDescription_PortType_Stub.java:63)
    at
    oracle.webdb.wsrp.client.design.v1.OraWSRP_v1_ServiceDescription_PortType.getServiceDescription(Unknown
    Source)Do you have any idea why this happens? Or you can provide some useful links to WLP -Oracle Portal federation?
    Thank you and best regards,
    PaKo

  • How to use external application, webclipping portlet in webcenter ?

    I'm just following this [http://biemond.blogspot.com/2008/01/external-application-in-webcenter-11g.html|http://biemond.blogspot.com/2008/01/external-application-in-webcenter-11g.html]
    to integrate an application into webcenter application as a external application. But I can't get the login work, always get the "User authentication failed".
    I'm using JDeveloper 11.1.1.2.0 and Webcenter 11.1.1.2.0.

    You can view a demo-
    How to Build a Portlet from an existing authentication web application
    from:
    http://portalstudio.oracle.com/servlet/page?_pageid=350&_dad=ops&_schema=OPSTUDIO&9054_PDKHOME_39847486.p_subid=176584&9054_PDKHOME_39847486.p_sub_siteid=73&9054_PDKHOME_39847486.p_edit=0#PDKURLDEMO
    There are PDK articles that explain how to builld ASP portlets and how to set up a URL based portlet for external authentication:
    http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/PDK/articles/build.asp.portlet.url.services.html
    http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/PDK/ARTICLES/how.to.build.urlbased.portlet.with.SSO.to.external.app.html
    There is also an ASP sample under the PDK-URL services samples.
    Please use these to build your application.
    Thanks,
    Mohana

  • Create new portlet?

    On my development server, I was able to create a new portlet, which I configured to display the content from a .ASPX file. It displayed properly. Now, on my production server, I cannot create a blank portlet where I can edit the portlet to display the .ASPX file's content. Is there something I am missing here?
    My configuration is : Plumtree 5.0.3 with Collaboration Server 4.0, Content Server 5.0.4, WebLogic 8.1, with SQL Server 2000 (SP3) on Windows 2003 Server Standard Edition.
    Thanks for any help/suggestions.

    So you have an ASPX page all ready to go.  I assume you know the URL for the ASPX page.  Let's say its http://www.myserver.com/companyname/myapp/mypage.aspx.
    In the portal, you need to create three things to get this to work:
    1. Remote Server
    2. Web Service - Remote Portlet
    3. Portlet
    You then need to:
    4. Add the Portlet to a page
    1. Create a Remote Server
    Go into a folder in Administration, then choose &#034;Create Object&#034; - &#034;Remote Server.&#034;
    Put http://www.myserver.com/companyname as the &#034;Base URL&#034;.  Click &#034;Finish&#034;, give it a name, such as &#034;MyCompany Remote Server.&#034;
    2. Create a Web Service - Remote Portlet
    Still in Administration, choose &#034;Create Object&#034; - &#034;Web Service - Remote Portlet.&#034;  Click the Browse button and find the Remote Server you just created (you did give it a descriptive name, didn't you?).  In the &#034;Portlet URL&#034; box, fill out the rest of the URL to the ASPX page.  In our example, it would be &#034;myapp/mypage.aspx&#034; (without the quotation marks).  For now, that should be enough.  If you want to add preferences or help pages or other things to your portlet, you can set more stuff inside here.  Click &#034;Finish&#034; and give the Web Service a Name, such as &#034;MyApp Web Service.&#034;
    3. Create a Portlet
    Still in Administration, choose &#034;Create Object&#034; - &#034;Portlet.&#034;  Choose the Web Service you just created, decide whether the portlet should be a &#034;Narrow&#034; or a &#034;Wide&#034; portlet (Narrow portlets can be placed on Wide columns on a page, but Wide portlets cannot be placed on narrow columns on a page).  Click &#034;Finish&#034; and give the Portlet a name, such as &#034;MyApp Portlet.&#034;
    4. Add the Portlet to a Page
    At this point you have created the portlet.  The next thing you will want to do is to view it.  To do this, you have to add it to a page - either a MyPage or a Community Page.  Let's put it on your MyPage.  Click on &#034;My Pages&#034; in the top-left corner of the browser and go to one of your My Pages.  Click the &#034;My Pages&#034; tab again, and this time choose &#034;Add Portlets.&#034;  Find the Portlet you just made, check the checkbox next to it's name, and click &#034;Finish.&#034;  You should now see the ASPX page in your MyPage.
    That's all there is to it.  You can get fancy and do all sorts of extra stuff inside the Web Service, but if all you want to do is display a ASPX page (or for that matter, any URL that returns HTML content), this is all you have to do.
         Tim Larson
         Mission to the World

Maybe you are looking for