If you're going to develop with Flex and CXF, there are some very quirky features you should be aware of: 1). Sometimes it helps to define your resultFormat to use "xml" instead of "e4x". See http://www.flexer.info/2008/09/10/httpservice-requesting-xml-from-feedburner-gets-parsed-with-xsl-in-ie-browser/ 2) Marshalling XML to the Flex/Flash client can be problematic if the HTTP response headers contain No-Cache. See http://faindu.wordpress.com/2008/04/18/ie7-ssl-xml-flex-error-2032-stream-error/ 3) Apache CXF sometimes returns garbage at the end of the SOAP envelope, which causes a fault in Flex. See my JIRA entry at https://issues.apache.org/jira/browse/CXF-1956 . I was able prove, via the Jira incident's WireShark attachments, that its the Spring/Apache CXF web service returning the garbage, but it remains unaddressed. I hope they solve it soon. To solve this, I had to put some "fix-it" logic in the Flex fault method to strip out the garbage and re-process just the SOAP envelope. Hope something here is helpful. Ron Grimes
________________________________ From: charlie [mailto:[email protected]] Sent: Sat 2/21/2009 3:54 AM To: [email protected] Subject: CXF 2.1 to CXF 2.2 Hi all, I have upgarded from 2.1.3 -> 2.2-SNAPSHOT as I need the multipart/form-data stuff. I have a flex client that runs in different browser calling these endpoints. Since the upgrade some of the endpoints have stopped working for the flex client. It was throwing a parseing exception. So i looked at the XML. From Internet Explorer and Safari I get this: {"Response":{"expiryDate":1235157506359,"passwordHash":"5f4dcc3b5aa765d61d8327deb882cf99","roleId":3,"securityToken":"<?xml version=\"1.0\" encoding=\"UTF-8\" ?><TOKEN TYPE=\"2\"><PUBLIC><MEMBER-ID>0<\/MEMBER-ID> <NAME>test<\/NAME><HOST>3<\/HOST><EXPIRY-DATE>1235170466370<\/EXPIRY-DATE><\/PUBLIC><CIPHER-TEXT><![CDATA[MNYIeugbGuJ7V1zq9nMm82JTlmiSswJMSokjYI5z9634nPkyJpWgDpuqcg3QkOXZmfCc6BX7m7+togEG4bAFsSggKFgPmlm+nefFLhZ8EOofmSTq\/or0wrMar3WA1WlbZGkGZOjl6A+6v9oSONvsdJW4PLP7Lk06iwwIeZdbFXmeKSWxdonCXw==]]><\/CIPHER-TEXT><\/TOKEN>","status":"OK"}} But is correct in Firefox: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><Response><expiryDate>1235157552986</expiryDate><passwordHash>5f4dcc3b5aa765d61d8327deb882cf99</passwordHash><roleId>3</roleId><securityToken><?xml version="1.0" encoding="UTF-8" ?><TOKEN TYPE="2"><PUBLIC><MEMBER-ID>0</MEMBER-ID> <NAME>test</NAME><HOST>3</HOST><EXPIRY-DATE>1235170512998</EXPIRY-DATE></PUBLIC><CIPHER-TEXT><![CDATA[MNYIeugbGuJ7V1zq9nMm82JTlmiSswJMSokjYI5z962n6dp9vkO/Kf51/hIjtDzPmfCc6BX7m7+togEG4bAFsSggKFgPmlm+nefFLhZ8EOofmSTq/or0wrMar3WA1WlbZGkGZOjl6A+6v9oSONvsdJW4PLP7Lk06iwwIeZdbFXmeKSWxdonCXw==]]></CIPHER-TEXT></TOKEN></securityToken><status>OK</status></Response> It Almost seems like the browser have transform the data. Is there any thing I need to do to instruct the marshalling in 2.2? Thanks Charlie -- http://finker.wordpress.com/
