• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: AjaxFileUpload problem in deployment
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AjaxFileUpload problem in deployment


  • Subject: Re: AjaxFileUpload problem in deployment
  • From: Ramsey Gurley <email@hidden>
  • Date: Fri, 16 Dec 2011 15:45:29 -0700

:D

In my case, I forgot to assign a value in my uploadFinished() method which threw a null pointer exception.  I don't have an uploadFormID binding on my form, so it must be something inside the uploader component.  Anyway, I fix the NPE and now I'm getting a validation exception causing the same problem... sheeesh :)

Darian, try sticking a catch block between the try and finally in ERXWOForm and log out the exception you get there before the finally block is allowed to execute.  You'll find your real error.


Ramsey

On Dec 16, 2011, at 3:27 PM, John & Kim Larson wrote:

Thanks for writing. It was a compound problem. You're right on though as to what happened. When handling the file I didn't get the file because of an encoding issue. I didn't catch it at the right spot, so I got this exception first. Then when I fixed the encoding issue I got burned because I was using java aim on OpenJDK for the first time. Another exception! Then I encrypted a value using a long cypher key without the unlimited security policy installed!! Aargh again! 

Abort, Retry, Fail. 

John 

Sent from my iPhone

On Dec 16, 2011, at 3:15 PM, Ramsey Gurley <email@hidden> wrote:


On Dec 16, 2011, at 2:13 PM, Ramsey Gurley wrote:

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

Oops.  I meant the AjaxProgressBar

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="" width="0" height="0" border="0" style="border: none;"></iframe>

<form name="_0Form" enctype="multipart/form-data" method="post" target="_0UploadFrame" action="">
	<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"  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>
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >AjaxFileUpload problem in deployment (From: John & Kim Larson <email@hidden>)
 >Re: AjaxFileUpload problem in deployment (From: Ramsey Gurley <email@hidden>)
 >Re: AjaxFileUpload problem in deployment (From: Ramsey Gurley <email@hidden>)
 >Re: AjaxFileUpload problem in deployment (From: John & Kim Larson <email@hidden>)

  • Prev by Date: Re: AjaxFileUpload problem in deployment
  • Next by Date: ERAttachment webPath ?
  • Previous by thread: Re: AjaxFileUpload problem in deployment
  • Next by thread: ERAttachment webPath ?
  • Index(es):
    • Date
    • Thread