Re: form woes

Chuck Hill <[email protected]> Mon, 20 Feb 2012 13:21:24 +0800
Newsgroups gmane.comp.web.webobjects.devel
Message-ID <[email protected]>
--===============0074160596==
Content-Type: multipart/signed; boundary=Apple-Mail-8--779233857;
	protocol="application/pkcs7-signature"; micalg=sha1


--Apple-Mail-8--779233857
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Hi Ond=C5=99ej,

On 2012-02-20, at 5:25 AM, Ond=C5=99ej =C4=8Cada wrote:

> Well, a few hours ago I've set up my first file uploading form in =
WONDER/WOLips/WO 5.4.3.
>=20
> Incredible fun.
>=20
> As soon as I've set up "multipart/form-data", I've stopped getting my =
action. That one was comparatively easy -- I just had to copy the action =
from the submit button binding to the form binding.
>=20
> As soon as the action was fixed, it got couriouser and couriouser -- =
I've found I'm not getting any form data.
>=20
> Overriding takeValuesFromRequest at all levels I've found that both =
application and session get the form all right, in other words, the =
ERXRequest's formValues does contain proper data there. Nevertheless, at =
the very beginning of component's takeValuesFromRequest the form gets =
weirdly re-interpreted -- formValues are empty; on the other hand, the =
ERXRequest body is nonempty now.

You are doing something wrong.


> Spending some time googling I've found this happens when encodings are =
switched; nevertheless, I do not switch encodings at all. At the =
beginning I set =
ERXMessageEncoding.setDefaultEncodingForAllLanguages("UTF-8") and that's =
all.

Check the Properties file in ERXExtensions.  There is a property that =
you set in your app that makes all the various places UTF-8.  That is =
almost certainly your problem.


> Well I've overridden application's _createRequest, and using my own =
ERXRequest subclass I've intercepted methods to see what happens betw. =
session and first component takeValuesFromRequest. Far as I can say, =
nothing happens.
>=20
> After trying lots and lots of things, I've eventually stuck with this =
class (whose instance is returned from ). It's rather ugly, but whatever =
I did, I did not find any other way to make it work :(
>=20
> =3D=3D=3D
> class WTFRequest extends ERXRequest {
> 	NSMutableDictionary savedFormValues;
> 	NSDictionary formValues() {
> 		NSDictionary d=3Dsuper.formValues();
> 		if (d?.count()=3D=3D0) {
> 			if (savedFormValues) return savedFormValues;
> 		} else {
> 			if (!savedFormValues)
> 				savedFormValues=3Dd.mutableClone();
> 			else =
savedFormValues.addEntriesFromDictionary(d);
> 		}
> 		return d;
> 	}
> }
> =3D=3D=3D
>=20
> Now I am getting the form data, normal ones and WOFileUpload ones as =
well -- but for mimeType, that one comes in the form all right, but for =
whatever weird reason the binding does not fill the variable. Oh, well; =
I'm using file name suffix instead...
>=20
> Sum it all, six-odd hours to implement something which used to take =
full six minutes in WOBuilder, Xcode and WO 5.3 and before :( I do =
wonder what's the culprit; this is sorta big mess to my liking :(


If you are going to use Wonder.   READ THAT PROPERTIES FILE.   :-)  It =
will make your life ever so much easier.  "There is a property for =
that!"  -- Wonder Logo
--=20
Chuck Hill             Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their overall =
knowledge of WebObjects or who are trying to solve specific problems.   =20=

http://www.global-village.net/gvc/practical_webobjects









--Apple-Mail-8--779233857
Content-Disposition: attachment;
	filename=smime.p7s
Content-Type: application/pkcs7-signature;
	name=smime.p7s
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIPNDCCBN0w
ggPFoAMCAQICEHGS++YZX6xNEoV0cTSiGKcwDQYJKoZIhvcNAQEFBQAwezELMAkGA1UEBhMCR0Ix
GzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwR
Q29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0w
NDAxMDEwMDAwMDBaFw0yODEyMzEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQx
FzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsx
ITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVROLVVTRVJGaXJz
dC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWlsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEAsjmFpPJ9q0E7YkY3rs3BYHW8OWX5ShpHornMSMxqmNVNNRm5pELlzkniii8efNIx
B8dOtINknS4p1aJkxIW9hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQylbsMTzC9mKALi+VuG6JG+ni8
om+rWV6lL8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXqvgvOdjp6Dpvq/NonWz1zHyLmSGHG
TPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6hw2v+vPhwvCkxWeM1tZUOt4KpLoDd7Nl
yP0e03RiqhjKaJMeoYV+9Udly/hNVyh00jT/MLbu9mIwFIws6wIDAQABo4IBJzCCASMwHwYDVR0j
BBgwFoAUoBEKIz6W8Qfs4q8p74Klf9AwpLQwHQYDVR0OBBYEFImCZ33EnSZwAEu0UEh83j2uBG59
MA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdJQQWMBQGCCsGAQUFBwMCBggr
BgEFBQcDBDARBgNVHSAECjAIMAYGBFUdIAAwewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5j
b21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwu
Y29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDARBglghkgBhvhCAQEEBAMCAQYw
DQYJKoZIhvcNAQEFBQADggEBAJ2Vyzy4fqUJxB6/C8LHdo45PJTGEKpPDMngq4RdiVTgZTvzbRx8
NywlVF+WIfw3hJGdFdwUT4HPVB1rbEVgxy35l1FM+WbKPKCCjKbI8OLp1Er57D9Wyd12jMOCAU9s
APMeGmF0BEcDqcZAV5G8ZSLFJ2dPV9tkWtmNH7qGL/QGrpxp7en0zykX2OBKnxogL5dMUbtGB8SK
N04g4wkxaMeexIud6H4RvDJoEJYRmETYKlFgTYjrdDrfQwYyyDlWjDoRUtNBpEMD9O3vMyfbOeAU
TibJ2PU54om4k123KSZB6rObroP8d3XK6Mq1/uJlSmM+RMTQw16Hc6mYHK9/FX8wggUaMIIEAqAD
AgECAhBtGeqnGU9qMyLmIjJ6qnHeMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJVUzELMAkG
A1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNU
IE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVRO
LVVTRVJGaXJzdC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWlsMB4XDTExMDQyODAwMDAw
MFoXDTIwMDUzMDEwNDgzOFowgZMxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNo
ZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMTkwNwYD
VQQDEzBDT01PRE8gQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1haWwgQ0EwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCShIRbS1eY1F4vi6ThQMijU1hfZmXxMk73nzJ9
VdB4TFW3QpTg+SdxB8XGaaS5MsTxQBqQzCdWYn8XtXFpruUgG+TLY15gyqJB9mrho/+43x9IbWVD
jCouK2M4d9+xF6zC2oIC1tQyatRnbyATj1w1+uVUgK/YcQodNwoCUFNslR2pEBS0mZVZEjH/CaLS
TNxS297iQAFbSGjdxUq04O0kHzqvcV8H46y/FDuwJXFoPfQP1hdYRhWBPGiLi4MPbXohV+Y0sNsy
fuNK4aVScmQmkU6lkg//4LFg/RpvaFGZY40ai6XMQpubfSJj06mg/M6ekN9EGfRcWzW6FvOnm//B
AgMBAAGjggFLMIIBRzAfBgNVHSMEGDAWgBSJgmd9xJ0mcABLtFBIfN49rgRufTAdBgNVHQ4EFgQU
ehNOAHRbxnhjZCfBL+KgW7x5xXswDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAw
EQYDVR0gBAowCDAGBgRVHSAAMFgGA1UdHwRRME8wTaBLoEmGR2h0dHA6Ly9jcmwudXNlcnRydXN0
LmNvbS9VVE4tVVNFUkZpcnN0LUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kRW1haWwuY3JsMHQGCCsG
AQUFBwEBBGgwZjA9BggrBgEFBQcwAoYxaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VUTkFkZFRy
dXN0Q2xpZW50X0NBLmNydDAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AudXNlcnRydXN0LmNvbTAN
BgkqhkiG9w0BAQUFAAOCAQEAhda+eFdVbTN/RFL+QtUGqAEDgIr7DbL9Sr/2r0FJ9RtaxdKtG3Nu
PukmfOZMmMEwKN/L+0I8oSU+CnXW0D05hmbRoZu1TZtvryhsHa/l6nRaqNqxwPF1ei+eupN5yv7i
kR5WdLL4jdPgQ3Ib7Y/9YDkgR/uLrzplSDyYPaUlv73vYOBJ5RbI6z9Dg/Dg7g3B080zX5vQvWBq
szv++tTJOjwf7Zv/m0kzvkIpOYPuM2kugp1FTahp2oAbHj3SGl18R5mlmwhtEpmG1l1XBxunML5L
SUS4kH7K0Xk467Qz+qA6XSZYnmFVGLQh1ZnV4ENAQjC+6qXnlNKw/vN1+X9u5zCCBTEwggQZoAMC
AQICEDPW+hwKh5uf4sHFVkcYRHswDQYJKoZIhvcNAQEFBQAwgZMxCzAJBgNVBAYTAkdCMRswGQYD
VQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9E
TyBDQSBMaW1pdGVkMTkwNwYDVQQDEzBDT01PRE8gQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBT
ZWN1cmUgRW1haWwgQ0EwHhcNMTEwNjEzMDAwMDAwWhcNMTIwNjEyMjM1OTU5WjApMScwJQYJKoZI
hvcNAQkBFhhjaGlsbEBnbG9iYWwtdmlsbGFnZS5uZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQCkzRrfflgKIsJE/b4L5yv+FNMKXbbC1H0tBsE6NMSJep8RL4x/62T2ts9qLWzWPz8o
W9XzQhxOMXHLayyCISOOGqmQr0dvyYqdxotjhD/oNFB7YHmmjcOH6sovTIGFv1im8R7wgbJuCSIS
Z8vahUoAmPma1RC+W5p5a6A+CUYqwym6FtvW9ttFJIi5zAA5bGB8vmra6BWAf6BGni4QzvO8mxDO
uTKM+Sl23G2aVsmaUkZiFJpX3Tvdd/V3cETcO8RglwnIxXVyhqiEjZp+y8O087XlYKCh5j7hMbw3
0JRgd00OR7Uzyg2CL1xA9sll7W/hYl2qvjY+n9KR7Cz8Oac9AgMBAAGjggHoMIIB5DAfBgNVHSME
GDAWgBR6E04AdFvGeGNkJ8Ev4qBbvHnFezAdBgNVHQ4EFgQU9Fh84u58ZodUT76HJ2mOG1tG2g8w
DgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwIAYDVR0lBBkwFwYIKwYBBQUHAwQGCysGAQQB
sjEBAwUCMBEGCWCGSAGG+EIBAQQEAwIFIDBGBgNVHSAEPzA9MDsGDCsGAQQBsjEBAgEBATArMCkG
CCsGAQUFBwIBFh1odHRwczovL3NlY3VyZS5jb21vZG8ubmV0L0NQUzBXBgNVHR8EUDBOMEygSqBI
hkZodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DbGllbnRBdXRoZW50aWNhdGlvbmFuZFNl
Y3VyZUVtYWlsQ0EuY3JsMIGIBggrBgEFBQcBAQR8MHowUgYIKwYBBQUHMAKGRmh0dHA6Ly9jcnQu
Y29tb2RvY2EuY29tL0NPTU9ET0NsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5j
cnQwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmNvbW9kb2NhLmNvbTAjBgNVHREEHDAagRhjaGls
bEBnbG9iYWwtdmlsbGFnZS5uZXQwDQYJKoZIhvcNAQEFBQADggEBAAxqFQDTAZ/mqvhaAKm8Nktk
r1hJkz+kbUqbcPH2ZvavIZio0ssTUVvEnoO/IBSG26AujXA49nBJwtvLDzhLu76GVYXbUCwR/EdY
9X2EuZLRt5e4XuT4JgNXTivQMHW25GDvpf7F+wqDVIZzwG/ajMOg9SC8ToWnbGhX8Aeqt2SJiXBe
QdPN6UjM3aFyngILbKl4TM851E2HHT5+5f4WD367qvhQmq/EH1gemYwoZ8mFYce74671Co8J1P4i
0u32IElKWT7Ol0QkLbMc1Y61rrKxHZ9Kl3uV36lDRAgtzlAFYJwdL4t5wdbz705TDZhBg7yEwWl4
mjRbdjlPW3jqKpgxggOrMIIDpwIBATCBqDCBkzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0
ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0
ZWQxOTA3BgNVBAMTMENPTU9ETyBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFp
bCBDQQIQM9b6HAqHm5/iwcVWRxhEezAJBgUrDgMCGgUAoIIB1zAYBgkqhkiG9w0BCQMxCwYJKoZI
hvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xMjAyMjAwNTIxMjRaMCMGCSqGSIb3DQEJBDEWBBRK32TY
uzd+N4Vs/k5O2q4Bk+oGszCBuQYJKwYBBAGCNxAEMYGrMIGoMIGTMQswCQYDVQQGEwJHQjEbMBkG
A1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P
RE8gQ0EgTGltaXRlZDE5MDcGA1UEAxMwQ09NT0RPIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQg
U2VjdXJlIEVtYWlsIENBAhAz1vocCoebn+LBxVZHGER7MIG7BgsqhkiG9w0BCRACCzGBq6CBqDCB
kzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2Fs
Zm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxOTA3BgNVBAMTMENPTU9ETyBDbGllbnQg
QXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIQM9b6HAqHm5/iwcVWRxhEezANBgkq
hkiG9w0BAQEFAASCAQBHhqM7YkF2dd012ml2LTDqxzhEDc4T3d9iZCDfVQLZ3sXJO++Zyg4IRKOJ
i3xG8KshTTrgXuByzxltLDP2kDAg84iZ20FaxUZq5pJFvaPFwwojmUNA7z8q9js/R5Pbex9euz7W
fOvSSvymPuDcxo6iB6anmtZRzlEgwpyPoPd7FSRFmrc4cb8C4ThOutVLZV9zFWNR2DRpDFuubmgZ
G3FrApSOHCLLRS0tLaj4BCWHdOqTUAwH1zUDshCjtOdJsYqE286ywMT8wHZY9oLUptZUILgvde0Q
I/JRV9odJD8XQsryZjNJ28Cvn3LHhUQ62tm4oPESLV/DdH2hwOQ2nu4yAAAAAAAA

--Apple-Mail-8--779233857--

--===============0074160596==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
WebObjects-dev mailing list
[email protected]
http://www.omnigroup.com/mailman/listinfo/webobjects-dev

--===============0074160596==--