Return-Path: Delivered-To: apmail-portals-pluto-dev-archive@www.apache.org Received: (qmail 1668 invoked from network); 2 Feb 2005 19:02:18 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 2 Feb 2005 19:02:18 -0000 Received: (qmail 55272 invoked by uid 500); 2 Feb 2005 19:02:17 -0000 Delivered-To: apmail-portals-pluto-dev-archive@portals.apache.org Received: (qmail 55230 invoked by uid 500); 2 Feb 2005 19:02:17 -0000 Mailing-List: contact pluto-dev-help@portals.apache.org; run by ezmlm Precedence: bulk Reply-To: pluto-dev@portals.apache.org list-help: list-unsubscribe: list-post: Reply-To: pluto-dev@portals.apache.org Delivered-To: mailing list pluto-dev@portals.apache.org Received: (qmail 55211 invoked by uid 99); 2 Feb 2005 19:02:17 -0000 X-ASF-Spam-Status: No, hits=0.1 required=10.0 tests=FORGED_RCVD_HELO X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from Filenet-gw.filenet.com (HELO hq-ex2kgw1.filenet.fn.com) (198.3.8.1) by apache.org (qpsmtpd/0.28) with SMTP; Wed, 02 Feb 2005 11:02:16 -0800 Received: from wa-ex2kpo1.filenet.fn.com ([10.20.15.41]) by hq-ex2kgw1.filenet.fn.com with Microsoft SMTPSVC(5.0.2195.6713); Wed, 2 Feb 2005 11:02:14 -0800 X-MimeOLE: Produced By Microsoft Exchange V6.0.6556.0 content-class: urn:content-classes:message Subject: RE: response.createActionURL() doesn't return a fully qualified URL Date: Wed, 2 Feb 2005 11:02:14 -0800 Message-ID: <8FD6112DFAF6B542AFD0F86415970650010801BC@wa-ex2kpo1.filenet.fn.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: response.createActionURL() doesn't return a fully qualified URL Thread-Index: AcUJTUFbspxtFF0nRISiR9k5CmpTwQAAqykQ From: "LaCasse, John" To: X-OriginalArrivalTime: 02 Feb 2005 19:02:14.0900 (UTC) FILETIME=[B5565340:01C50959] X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Thanks for the response Stephan, I'm a bit confused by the response so let me restate what I'm trying to do. I'm not trying to create a URL from the outside to get into the portlet (as your question to J2 would indicate). I'm passing what response.createActionURL().toString() returns to me to an outside app and using it to redirect back to the portlets processAction method. I'm assuming this url is guaranteed to be valid as this is the mechanism used to create a url that will trigger a processAction/event. At the end of the day I'm expecting the url returned from response.createActionURL().toString will trigger the proper event in the portlet when redirected to from an outside app. If this url were just fully qualified it would work. If I prepend the scheme and domain:port to it, it in fact does work. Interestingly, in a previous build I'm pretty sure this url was fully qualified. My stuff was working fine until I got the latest source. Consequently now I have to fully qualify it myself. This particular issue is frustrating because I have to deal with it differently on every different implementation. Right now it is true that at least with Websphere, Weblogic and Pluto the url is valid as long as it is fully qualified so it's not clear to my why everybody just doesn't fully qualify the returned url; that way this behavior would be standard across platforms and not have to be special cased. I fully admit I don't fully understand the underlying implications but based on three of the most popular venders there doesn't seem be a reason not to require this (or at least some standard way of getting this) in the spec. -----Original Message----- From: Stefan Hepper [mailto:sthepper@apache.org] Sent: Wednesday, February 02, 2005 9:33 AM To: pluto-dev@portals.apache.org Subject: Re: response.createActionURL() doesn't return a fully qualified URL LaCasse, John wrote: > When I call response.createActionURL() it isn't returning a fully > qualified URL; other jsr168 containers I've used specifically > WebSphere and Weblogic may or may not return fully qualified URL's. In > WebSphere you have to response.encodeURL() to get it; Weblogic does it > by default and pluto doesn't appear to do it at all. This makes it > difficult to get back to the portlet from outside the app which I need > to do frequently. One thing is for sure and that is that everybody > seems to be doing their own thing here and hence removing some of the > benefit of having a standard. Any thoughts or suggestions on this point? > > Thanks, > > Jpl > The JSR 168 clearly states that the URL generated by PortletURL.toString may not be a valid URL. This is especially true when running as a WSRP producer where the URL will be a WSRP defined token that gets re-written by the WSRP producer. EncodeURL is meant for encoding resource URLs, not portlet URLs. The JSR 168 spec does not define any means to address portlets directly, this is something that is vendor specific currently. This is also not an easy thing, as normally you would want to address a portal page with specific portlets on the page, right? Even if it is one portlet only you would need the combination of portlet Java instance + preference data, which is why you cannot simply map it to a URL for the java instance like in the servlet case. Inside portals this can be quite differently represented right now. Some help may be coming from the web services world. Once WS-Resouces is further along, WSRP V 2.0 or 3.0 may include something like that. So, sorry nothing as solution for today, besides vendor extensions. Question to the Jetspeed-2 guys: is there a service in J2 that a outside component can use to create a link to specific portlets. Stefan