If this is not a bug and is intentional behavior, shouldn't WebObjects be able 
to restore the session and read the wosid in the URL?  

In performActionNamed(String name) when I call existingSession() on the URL 
with the escaped &, WO doesn't find the session.  It returns null on 
existingSession() for a URL like this:
.../wa/ReminderDA/refreshReminder?id=46&wosid=B6fPodDWHmwlDcUs54Uaj0

However, even if I add a third parameter to the URL and use formValueForKey, it 
doesn't work.
.../wa/ReminderDA/refreshReminder?id=46&test=hello&wosid=B6fPodDWHmwlDcUs54Uaj0

formValueForKey works on id but doesn't work on test or wosid.

If I remove the escape characters, existingSession() works and formValueForKey 
works properly.

- David

-----Original Message-----
From: Dev WO [mailto:[EMAIL PROTECTED] 
Sent: Friday, May 26, 2006 5:26 AM
To: Gary Teter
Cc: David Haggerty; [email protected]
Subject: Re: Problems with WOAction in WO 5.3.1

Hello,
This is not a bug!
the & must be escaped in & in a hyperlink, this is the (X)HTML  
specification. It was broken in 5.2.4 and corrected in 5.3.1 because  
it's the correct behavior.
The remaining bug I know of is when using the href binding with  
parameters, it leads to & in code which is incorrect, so it  
sort of a double escape.
If you are using formValueForKey it correctly gets every parameters  
from the DA URL.

Xavier


Le 26 mai 06 à 00:07, Gary Teter a écrit :

> Yes, this was broken in 5.3.1, but apparently fixed in 5.3.1. That  
> is, it was broken with the 5.3.1 that was introduced with (if I  
> recall) a Mac OS X Server updated), and may be fixed with the 5.3.1  
> that was introduced with Xcode 2.3.
>
> (Perhaps Apple has exceeded its version number budget, and so all  
> future WebObjects releases will also be 5.3.1.)
>
> The workaround is to write a method that calls WOContext's  
> directActionURLForActionNamed() and manually munge the URL  
> yourself, e.g., something like:
>
> String url = context().directActionURLForActionNamed 
> ("refreshReminder", getRefreshQueryDictionary());
> url = url.replaceAll("&", "&");
> return url;
>
> On May 25, 2006, at 2:48 PM, David Haggerty wrote:
>
>> We recently upgraded to 5.3.1 from 5.2.4 and are having problems with
>> WOActionURL.  We use WOActionURL for Ajax and the & is adding the  
>> HTML
>> escape in 5.3.1 but never did this in 5.2.4.  This is causing it  
>> to not
>> find the session and the URL is then invalid.
>>
>> Any ideas?  Is this a bug in 5.3.1?
>>
>> Thanks in advance,
>> David
>>
>> 5.3.1:
>> .../wa/org.yfu.ui.announcement.ReminderDA/refreshReminder? 
>> id=46002395450
>> 30766980&wosid=B6fPodDWHmwlDcUs54Uaj0
>> 5.2.4:
>> .../wa/org.yfu.ui.announcement.ReminderDA/refreshReminder? 
>> id=46002395450
>> 30766980&wosid=B6fPodDWHmwlDcUs54Uaj0
>>
>>
>> ActionURL1: WOActionURL {
>>      actionClass = "org.yfu.ui.announcement.ReminderDA";
>>      directActionName = "refreshReminder";
>>      queryDictionary = refreshQueryDictionary;
>> }
>>
>> public NSDictionary getRefreshQueryDictionary(){
>>         return new NSDictionary(getReminderIterator().getId(), "id");
>> }
>
> -- 
> WireHose: Smart metadata and personalization for WebObjects.
> http://www.wirehose.com/
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      ([email protected])
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-dev/webobjects% 
> 40anazys.com
>
> This email sent to [EMAIL PROTECTED]
>

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to