Tag Archives: LCDS

Debugging Livecycle Data Services in Livecycle ES

The other day I was spending some time with a client of mine who ran into an issue with a Flex Remoting endpoint in Livecycle/ADEP

Essentially what happened was that within an object tree supposed to be sent from the Flex application to a Livecycle endpoint contained a lot of unexpected null references. Monitoring the AMF remoting traffic with Charles showed however that the data was serialised fine on the Flex side of things. At the other end of the wire though, something clearly went wrong. Even more confusing was that the serialisation seemed to work fine for non-complex data types which led us to the suspicion that the conversion of ArrayCollections to Java generics was setup incorrectly.

Without elaborating on details of coding and configuration switches that can modify how all that works in depth (hint: IExternalizable and java.io.Externalizable are your friends…), I rather want to explain some other configuration settings that a lot of people wouldn’t be aware of, but that are extremely helpful when you run into a possible serialisation problem.


Read the complete post at Blog In Black.

LiveCycle Data Services for Java EE 4.6 now available

– Juergen Hauser, Sr. Product Manager – LiveCycle Data Services

Here’s another announcement! LiveCycle Data Services version 4.6 is now generally available. It is the latest update to the JEE or LiveCycle version of Data Services and it is a feature-rich major release, including expanded support for mobile applications (HTML5/JavaScript, native iOS and Java/Google Android), adds an SAP Connector, introduces managed remoting, and enhancements to model driven development and the offline synchronization framework.


Read the complete post at http://blogs.adobe.com/livecycle/2011/12/livecycle-data-services-for-java-ee-4-6-now-available.html.


LiveCycle ES 3 Release Now Available

Dave Welch, Senior Director – LiveCycle

We are pleased to announce the release of Adobe LiveCycle Enterprise Suite 3 (ES3). LiveCycle ES3 contains the document and data services capabilities, including electronic forms and business processes, which were formerly part of the Adobe Digital Enterprise Platform (ADEP), a brand that is being retired.

The new LiveCycle ES3 release incorporates:

  • Document services capabilities available with ADEP and the recent ADEP Document Services service pack 1
  • LiveCycle Data Services 4.6.1
  • Updates to LiveCycle Connectors for Microsoft® SharePoint® and IBM® FileNet

LiveCycle offers a number of components that help extend the value of existing back-end systems by better engaging users, streamlining processes, managing correspondence, and strengthening security.

Read the complete post at http://blogs.adobe.com/livecycle/2012/03/livecycle-es-3-release-now-available.html.

Disabling Session Re-Writing in BlazeDS and LCDS

Alex Glosband

Session re-writing is the practice of adding the session identifier to the HTTP request URL instead of passing the session identifier as a session cookie. Session re-writing is usually used when cookies have been disabled on the client. It is an easy way to let clients that do not allow or support cookies maintain session state with the server but it poses some security risks. The session identifier is passed in the URL which means that it is not encrypted even if the request is made over SSL/HTTPS. Because of the security risks associated with session re-writing, the Open Web Application Security Project (OWASP) recommends that session re-writing only be used for low-value sites. In this article, I will show you how to disable session re-writing in BlazeDS and LCDS to help secure your application.

In BlazeDS and LCDS, the session identifier is typically either the JSessionId (for servlet based endpoints in BlazeDS or LCDS) or AMFSessionId (for NIO HTTP based endpoints in LCDS).

Note that the RTMP protocol doesn’t use HTTP, so the issue of session re-writing doesn’t apply to RTMP endpoints.

When the BlazeDS or LCDS server receives a request with no session identifier (either a session cookie or session id URL parameter) a couple things happen. A new session is created. A Set-Cookie header with the session id is added to the response. Also, an AppendToGatewayURL header with the session id is added to the AMF or AMFX response message.

Read the full blog post at this URL.

Data Services 4.6 Pre-Release

Mete Atamel

As DataServices team, we’ve been working hard on a number of cool features, so much so that I forgot to mention the latest and greatest version of DataServices has been pre-released on Adobe Labs. There are a lot of cool and useful features in this release. You can see the full list on the pre-release site but I’m especially excited about all the new client SDKs we’ll be providing to connect a number of different desktop and mobile clients to DataServices. With these native client SDKs, we’re transforming DataServices from a Flash-only server to a multi-client server. I personally worked on Java, Android, JavaScript/HTML5 client SDKs and I’d love to hear what you think. Send us comments in the pre-release forum.

Original article at http://meteatamel.wordpress.com/2011/10/20/data-services-4-6-pre-release/.

LCDS Multi-Client Support: Native iOS, Android, HTML, Java, and Flex

– Christophe Coenraets

Last year at MAX, we announced and sneak peeked the new multi-client support in LCDS. LCDS will soon provide native client libraries for iOS, Java, Android, HTML / HTML 5 (with WebSockets support when available), and Flex. The engineering team has been hard at work on this. My friend Mete Atamel has been leading the charges, and he recently recorded the screencast below showing six different clients connecting to an LCDS server.


Original article at http://coenraets.org/blog/2011/05/lcds-multi-client-support-native-ios-android-html-java-and-flex/.

LCDS, ManagedObjectProxy and some reserved keywords

Yesterday I struggled for several hours looking in the Livecycle Data Services code in order to investigate the following error message:TypeError: Error #1034: Type Coercion failed: cannot convert “ZGUID” to QName. It was not easy but in the end I understood that it is an issue related to property collision inside of the ManagedObjectProxy  class. The ManagedObjectProxy instance is adding all the properties from the serialized objects into it. However if the name of one of your properties already exists in the ManagedObjectProxy instance then this process will fail. The following properties already exist (inherited from ObjectProxy):

dispatcher : EventDispatcher
notifiers : Object
object : Object
propertyList : Array
proxyClass : Class
type : QName

For the “type” property a fix was provided in Livecycle Data Services 3, but not for the others. So if you design your domain object and you plan to use Livecycle Data Services it’s a good idea to not use this reserved keywords as names for your properties.

The problem appears only if you like to use the proxy approach (not having the corresponding AS class included in the client SWF).

Original article at http://cornelcreanga.com/2009/12/lcds-managedobjectproxy-and-some-reserved-keywords/.

Using LiveCycle Data Services to create applications

– Scott Macdonald

Did you know that you can use LiveCycle Data Services to create interactive applications that display run-time data? If you are interested in knowing how to program these types of applications, then i recommend checking out this article: Creating live stock quote sample applications using the Message service.

Original article at http://blogs.adobe.com/livecycledocs/2010/12/using-livecycle-data-services-to-create-applications.html.