This looks suspiciously familiar to Darian DeFalco's issue a couple of days ago.

I don't think this is your real error. Look at the stack trace.  ERXWOForm 230 
is inside a finally block.  

Something threw an exception in the try block, probably during 
super.invokeAction().  Once that happened, the current component is now 
AjaxFileUpload and ERXWOForm is assuming the form is the current component when 
it tries to clear the form name.

As a result, it calls the uploadFormID binding on your ERXWOForm against the 
current component which is the AjaxFileUpload and you see this exception 
instead.

Every time I've encountered this, the real error is up above this one in the 
console log.  This misdirection annoys the crap out of me personally, but not 
so much that I've taken the time to figure out how to fix it :-)

If you aren't getting any other errors in your log, comment out the 
uploadFormID binding on your WOForm and see what you get when it fails again.

Ramsey




On Dec 16, 2011, at 10:03 AM, John & Kim Larson wrote:

> I have an AjaxFileUpload on a page that works fine in development but not in 
> deployment.  When I upload a file I get an UnknownKeyException on the 
> AjaxProgressBar inside the AjaxFileUpload ??
> 
> My bindings are
> UploadPicture: AjaxFileUpload {
>       data = uploadedFile;
>       filePath = fileName;
>       succeededAction = savePhoto;
>       uploadLabel = "Upload photo";
>       finishedFunction = "img_previewUpdate();";
>       progressBarBeforeStart = true;
>       refreshTime = 1000;
> }
> 
> This is the stack trace:
> 
>       "URL" = 
> "/cgi-bin/WebObjects/MyApp.woa/4/ajax/6.0.9.1.2.9?_u=_0ProgressBar&1324052204904";
> }
> 
> com.webobjects.foundation.NSKeyValueCoding$UnknownKeyException: 
> [<er.ajax.AjaxProgressBar name: er.ajax.AjaxProgressBar subcomponents: null > 
> valueForKey()]: lookup of unknown key: 'uploadFormID'.
> The WOComponent er.ajax.AjaxProgressBar does not have an instance variable of 
> the name uploadFormID or _uploadFormID, nor a method of the name 
> uploadFormID, _uploadFormID, getUploadFormID, or _getUploadFormID
>   at 
> com.webobjects.appserver.WOComponent.handleQueryWithUnboundKey(WOComponent.java:1764)
>   at 
> com.webobjects.foundation.NSKeyValueCoding$Utility.handleQueryWithUnboundKey(NSKeyValueCoding.java:494)
>   at 
> com.webobjects.foundation.NSKeyValueCoding$_KeyBinding.valueInObject(NSKeyValueCoding.java:894)
>   at 
> com.webobjects.foundation.NSKeyValueCoding$DefaultImplementation.valueForKey(NSKeyValueCoding.java:1324)
>   at com.webobjects.appserver.WOComponent.valueForKey(WOComponent.java:1736)
>   at 
> com.webobjects.foundation.NSKeyValueCoding$Utility.valueForKey(NSKeyValueCoding.java:447)
>   at 
> com.webobjects.foundation.NSKeyValueCodingAdditions$DefaultImplementation.valueForKeyPath(NSKeyValueCodingAdditions.java:212)
>   at 
> com.webobjects.appserver.WOComponent.valueForKeyPath(WOComponent.java:1804)
>   at 
> com.webobjects.appserver._private.WOKeyValueAssociation.valueInComponent(WOKeyValueAssociation.java:50)
>   at er.extensions.components._private.ERXWOForm._formName(ERXWOForm.java:296)
>   at 
> er.extensions.components._private.ERXWOForm._clearFormName(ERXWOForm.java:338)
>   at 
> er.extensions.components._private.ERXWOForm.invokeAction(ERXWOForm.java:230)
>   at 
> com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105)
>   at 
> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115)
>   at com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:1079)
>   at 
> com.webobjects.appserver._private.WOComponentReference.invokeAction(WOComponentReference.java:127)
>   at 
> com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105)
>   at 
> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115)
>   at 
> com.webobjects.appserver._private.WOComponentContent.invokeAction(WOComponentContent.java:38)
>   
> This is what the generated HTML looks like (I took out some whitespace):
> <iframe name="_0UploadFrame" 
> src="/cgi-bin/WebObjects/MyApp.woa/wa/ERXDirectAction/empty" width="0" 
> height="0" border="0" style="border: none;"></iframe>
> 
> <form name="_0Form" enctype="multipart/form-data" method="post" 
> target="_0UploadFrame" action="/cgi-bin/WebObjects/MyApp.woa/upload">
>       <input name="wosid" type="hidden" value="7f5NZMw8JeYq0B8lMUh6tw" />
>       <input name="id" type="hidden" value="_0" />
>       <table>
>               <tr class="upload_row">
>                       <td class="input_col"><input name="uploadedFile" 
> type="file" /></td>
>                       <td class="action_col"><input  type="button" 
> onclick="AUL.update('_0ProgressBar', {}, '6.0.9.3.5.2.7');" value="Upload 
> photo"></input></td>
>               </tr>
>               
>               <tr class="progress_row">
>                       <td colspan = "2">
>                               <div  id="_0ProgressBar" 
> updateUrl="/cgi-bin/WebObjects/MyApp.woa/ajax/6.0.9.3.5.2.9">
> </div><script>AUC.register('_0ProgressBar');</script>
>                       </td>
>               </tr>
>       </table>
> </form>
> 
> I've used this many times before, and everything is fine. Heck, it's fine in 
> development. Everything else works fine in deployment. I'm on EC2 btw with 
> 5.4.3. It's like the context for the ERXWOForm puts it inside the 
> AjaxProgressBar when it should be inside the AjaxFileUpload. ??? I use other 
> Ajax stuff all over and it is fine, so I don't think it is a problem with the 
> handler or something bigger.
> 
> Thanks for any help,
> John
> 
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/webobjects-dev/rgurley%40smarthealth.com
> 
> This email sent to rgur...@smarthealth.com

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

This email sent to arch...@mail-archive.com

Reply via email to