Configurable request timeout for client side SOAP calls

Have you tried making calls to LiveCycle over SOAP, that resulted in read timeout exception on the client? This could happen, for instance if the service method you are trying to invoke just takes too long to execute.  Wish you could control the timeout for such calls? Read on for how this can be done  …

The current LiveCycle ES4 release allows you to configure the LiveCycle Service Client request time-out when the invocations are done via SOAP. This can be done by passing a new property DSC_REQUEST_TIMEOUT (present in ServiceClientFactoryProperties class) to Service Client Factory. It represents the request call timeout (in milliseconds). By default, internally this timeout is 15 minutes (same as the last release).

Let’s say you want to set the request time out for invocation of a service method to 20 minutes. The essence here is how the Service Client Factory gets created. Let’s see how:

Properties cxnProperties = new Properties();
ServiceClientFactory mySCFactory = null; 
ServiceClient myServiceClient = null;

cxnProperties.setProperty("DSC_DEFAULT_SOAP_ENDPOINT", "http://myLCServer:8080");
cxnProperties.setProperty("DSC_TRANSPORT_PROTOCOL", "SOAP"); 
cxnProperties.setProperty("DSC_SERVER_TYPE", "JBoss");
cxnProperties.setProperty("DSC_REQUEST_TIMEOUT", "1200000");  // 20 minutes
cxnProperties.setProperty("DSC_CREDENTIAL_USERNAME", "Administrator");
cxnProperties.setProperty("DSC_CREDENTIAL_PASSWORD", "myPassword");

mySCFactory = ServiceClientFactory.createInstance(cxnProperties);

Now, you can pass this Service Client Factory to the code that invokes the service method. For a more elaborate article on how to invoke LiveCycle via SOAP, check out:  http://www.adobe.com/devnet/livecycle/articles/java_soap.html.

Donating BlazeDS to Apache Software Foundation

Hello Friends,

As you may already know, Adobe has promised to contribute BlazeDS to Apache. It could be a separate project (which would make sense technically), but an Apache project also needs an active community. An alternative plan would be to add the code to the Flex project in Apache. So, we wanted to know:
1. Do you want to contribute to BlazeDS?
2. What changes would you want to make to BlazeDS?
3. How often do you think you would be able to contribute?

Thanks,
BlazeDS Team

HTML5/JavaScript Client SDK for Data Services

The upcoming ADEP Data Services for JEE 4.6 release will ship amongst a bucketful of features [1], a brand new HTML5/JavaScript client SDK as well. At a high level, it will provide the following feature set (for SDK usage etc. refer to [2]):

  1. Calling into remoting and messaging destinations in Data Services without going through Flash.
  2. Communicating using JavaScript based AMF over various HTTP-based and HTML5 WebSockets [3] channels. A full server-side NIO-based WebSocket channel implementation has been added, similar to RTMP channel.
  3. Clustering and failover support.
  4. All major desktop browsers as well as mobile browsers will be supported.

You will get all this in a single, highly optimized JavaScript library of just about ~100k size! This makes it perfect for use in mobile and desktop web apps, hybrid native/HTML5 apps and more.

… Model-Driven Development

And that’s not all. The Data Service Modeler plug-in will also contain a HTML5/JavaScript Code Generator with it. You can use it to generate HTML5/JavaScript VO and Service code for Remoting-backed services (like SAP), to ease building of HTML5 applications using the above client SDK. Once you generate your code, all you need to do is to wire up your UI and you should be ready to go!

References

[1] For complete feature set, refer to the Data Services feature overview presentation.

[2] HTML5/JavaScript client SDK feature overview/usage presentation.

[3] Subject to browser support wherever available, in other cases the ChannelSet allows auto-fallback to different channel.