Archive for February, 2010

LiveCycle ES: Change Workspace AMF Polling interval

Issue

If you are using LiveCycle Workspace ES you will notice that it is polling the LC server every few seconds for updates. You can see the polling frequency by using a web logging tool like Fiddler2 and analyzing the logs for the entries related to “messagebroker/amfpolling”.

The polling is used to update the user and group queues with task information. Each Workspace client polls the server with this frequency, which may start to affect the performance. In this case, the polling interval can be changed, especially if you are using task assignment e-mails, which makes the automatic updates in Workspace less critical.

Solution

The polling interval in Workspace uses the default value defined by the AMFChannel. Unfortunately, it is not possible to build a patch to expose this property or to set it to a fixed value. Doing so would mean creating a customized version of Workspace for one customer and maintaining this version separately from the standard Workspace for all other customers.

A better solution is to allow you to control this property in your own Workspace version. This can be achieved through a small modification of the Workspace source, which would be applied when you are customizing your Workspace client.

In the createChannelSet() method defined in lc.core.Manager, the AMFChannel is created as follows:

var channel:AMFChannel = new channelClass(channelId, channelUrl);

You can add the following line just below that to set the pollingInterval to whatever value works best:

Channel.pollingInterval = xxxx;

Note: The xxxx value is in milliseconds (ms).

Additional Information

In Workspace ES3, the polling interval can be configured via the Workspace Global Administration.   Customizing Workspace is no longer required.

Just export the global settings file under Services > Workspace > Global Administration > Export Global Settings, change the value of

<client_pollingInterval>3</client_pollingInterval>

…, save the file, and re-import it.  Restart the application server.

reference: (181438652/2555685)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 8.0/10 (1 vote cast)

LiveCycle ES: SAXParseException: White spaces are required between publicId and systemId.

Issue

If you have migrated from LiveCycle 7 to LiveCycle ES you may encounter the following exception when attempting to call a web service from an orchestration at runtime:

####<Feb 18, 2010 5:09:56 PM MET> <Warning> <com.adobe.workflow.AWS> <sunc01016> <wl01qalc01> <[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-56EAC5B49D0141CB0D30> <> <1266509396427> <000000> <ALC-DSC-000-000: com.adobe.idp.dsc.DSCRuntimeException: Internal error. 
...
Caused by: ALC-DSC-000-000: com.adobe.idp.dsc.DSCRuntimeException: Internal error. 
 at com.adobe.idp.dsc.util.CoercionUtil.toDOMDocument(CoercionUtil.java:683) 
 at com.adobe.idp.dsc.util.CoercionUtil.toDOMDocument(CoercionUtil.java:688) 
 at com.adobe.idp.dsc.util.CoercionUtil.toType(CoercionUtil.java:970) 
 at com.adobe.idp.dsc.util.CoercionUtil.toType(CoercionUtil.java:836) 
 at com.adobe.workflow.datatype.runtime.support.AbstractDataTypeRuntimeHandler.coerceFrom(AbstractDataTypeRuntimeHandler.java:64) 
 at com.adobe.workflow.datatype.runtime.support.AbstractComplexDataTypeRuntimeHandler.getNode(AbstractComplexDataTypeRuntimeHandler.java:47) 
 at com.adobe.workflow.dom.VariableElement.setBoundValue(VariableElement.java:98) 
 at com.adobe.workflow.pat.service.PATExecutionContextImpl.setProcessDataValue(PATExecutionContextImpl.java:813) 
 ... 116 more 
Caused by: org.xml.sax.SAXParseException: White spaces are required between publicId and systemId. 
 at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) 
 at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) 
 at com.adobe.idp.dsc.util.DOMUtil.parseDocumentFromString(DOMUtil.java:167) 
 at com.adobe.idp.dsc.util.CoercionUtil.toDOMDocument(CoercionUtil.java:607) 
 ... 123 more

When accessing the web service through the WebService component, you sometimes get a valid response using the test tab:

Solution

The web service is returning an invalid XML result. This error usually happens when the classpath for the server is not correctly set up. Check the classpath against the Adobe documentation, make any necessary changes, and then restart the application server.

In this case, the argument for the UTF-8 charset was not set correctly and therefore the input and output data for the WebService component was not correctly encoded.

reference: (181450296)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 0.0/10 (0 votes cast)

LiveCycle ES: process_name missing in Workspace for migrated tasks

Issue

You have migrated to LiveCycle ES from a LiveCycle 7 environment and notice that some of the tasks do not have a process name populated in the task view in Workspace. This problem occurs in the migration scripts, which do not correctly update the task information in the database.

Solution

This issue has been addressed in LiveCycle ES2 (9.0.0.0) and later versions.  A patch is available to solve this issue in LiveCycle ES 8.2.1.2. Contact the Adobe support team if you require this patch and ensure that it is suitable for your environment.

Additional information

The patch can only be applied during the migration process. If you have already migrated and are seeing this issue, the patch will not fix the already migrated tasks in the database. To correct this issue in this situation, manually run the following SQL:

UPDATE tb_task
SET process_name =
 (SELECT tb_process_instance.service_name
 FROM tb_process_instance
 WHERE (tb_process_instance.id = tb_task.process_instance_id))
WHERE process_name IS NULL

You should backup your database before applying the above SQL changes.

reference: (181372257/2526063)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 0.0/10 (0 votes cast)

Acrobat/Reader 8.1: crash when using the spell checker

Issue

If you are using the spell checking tool with Adobe Reader 8.1.x you may experience an application crash and error message like the following:

The crash usually occurs when you enter text in a text field that is not already in the dictionary. You then right-click on the text field to bring up the spell checking context menu:

Without selecting any of the options in the spell checking menu, you click another field on the form. Then the crash occurs.

Solution

This crash has been fixed in Reader 8.2.x and in Reader 9.  Upgrade to these, or later versions to solve this issue.

reference: (181290014/2495783)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 0.0/10 (0 votes cast)

LiveCycle ES: Workspace Group queue does not refresh automatically to show new tasks

Issue

If you are using group queues in Workspace ES you may notice that new tasks assigned to one of your group queues are not showing up automatically.  The user queues always refresh and show the new tasks automatically, but the group queues do not.

Solution

This issue has been fixed in ES 8.2.1.3 and later versions.  A patch is available to fix this issue in LiveCycle 8.2.1.2. Contact support if you require this patch, to ensure that it is compatible with your environment.

Additional information

If the patch does not fix the issue, check the server log for JGroups messages for more information about the possible root cause.

Also check the Global Workspace admin settings:

in LiveCycle Administration Console, click Services > LiveCycle Workspace ES > Global Administration. Under Export global settings, click Export.

Check the properties defined under server_remoteevents_JChannelConnectionProperties.  These are the connection properties for JGroups that are used to communicate between the server (on which a service event is processed by the RemoteEvent service) and all instances of Workspace ES.

If necessary, change the UDP values for the multicast IP address (mcast_addr), the multicast IP port (mcast_port), and the TTL for the multicast packets (ip_ttl). By default, the multicast IP address and port values are randomly generated and, generally, the values do not need to be changed. However, if your company has any network policies in regard to specific multicast ranges for multicast IP addresses, you sometimes need to change these values.

Note: The TTL must be greater than the number of network switches between the servers in the cluster.  However, if the value is set too high, it can cause multicast packets to travel into subnets, where they are discarded.

Do not change the remaining properties.

reference: (181372259/2542619)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 0.0/10 (0 votes cast)

LiveCycle ES: LinkageError for SOAPMessage class when accessing LC7 WSDL from LC ES

Issue

If you have exposed workflows in LiveCycle 7 as web services and then upgraded to LiveCycle ES, these web services should continue to be available under the same WSDL URL as in LC7: http://<server>:<port>/services/<servicename>?wsdl

Services exposed as web services in LC ES that did not exist in LC7 before the migration are available under the new LC ES WSDL URL path: http://<server>:<port>/soap/services/<servicename>?wsdl

However, you may notice after migrating to ES 8.2.1 that the data connections in your XDP forms are no longer working. Trying to create a new data connection to http://<server>:<port>/services/<servicename>?wsdl doesn’t work either. Trying to load the WSDL in Internet Explorer from the same client machine produces the following error:

####<Jan 26, 2010 6:17:46 PM MET> <Error> <HTTP> <xxxx> <xxxx> <[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'> 
<<WLS Kernel>> <> <> <1264526266913> <BEA-101017> <[weblogic.servlet.internal.WebAppServletContext@1ae8935 - 
appName: 'adobe-livecycle-weblogic', name: '/services', context-path: '/services'] Root cause of ServletException.

java.lang.LinkageError: loader constraints violated when linking javax/xml/soap/SOAPMessage class
 at org.apache.axis.transport.http.AxisServlet.createMessageContext(AxisServlet.java:924)
 at org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1185)
 at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:249)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
 at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

Solution

This LinkageError is usually caused by the saaj.jar appearing multiple times in the classpath and causing conflicts with older versions. Try to remove the saaj.jar file from the adobe-wkf-service.war in the adobe-livecyle-weblogic.ear file to ensure that it uses the right version of the saaj.jar file.

Follow these steps to verify that the solution works for you:

  1. Make a backup of configurationManager/export/adobe-livecyle-weblogic.ear.
  2. Use Winzip or WinRAR and open adobe-livecyle-weblogic.ear.
  3. Extract the war file adobe-wkf-service.war from the EAR.
  4. Use Winzip or WinRAR to open adobe-wkf-service.war.
  5. Delete saaj.jar from \WEB-INF\lib\.
  6. Add the modified adobe-wkf-service.war back into adobe-livecyle-weblogic.ear using Winzip or WinRAR.
  7. Deploy the modified adobe-livecyle-weblogic.ear to the appserver.
  8. Test WSDL path http://<server>:<port>/services/<servicename>?wsdl again in Internet Explorer and Designer.

If this solution works in your environment, contact Adobe support to request a patch for this issue. This issue has already been fixed in ES2 SP2 (9.0.0.2) and later versions.  A patch is available for LC ES 8.2.1.2, and Adobe support can request this patch for your environment.

reference: (181406184/2541407)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 10.0/10 (1 vote cast)

LiveCycle ES: Queues in the Workspace To Do view are not sorted

Issue

If you are using the To Do view in Workspace ES, you may notice that the queue list is not sorted. The queues appear in the list in the order in which tasks arrive, which can be confusing and difficult to find when you are a member of many groups and shared queues.

Solution

This issue is fixed in LiveCycle ES2 (9.0.0.0), and later versions, where the queues are now sorted alphabetically, with the group queues appearing above the shared queues as follows:

Personal Queue 

Group QueueA

Group QueueB

Group QueueC

Group QueueD

…..

Shared QueueA

Shared QueueB

…..

This arrangement is the most logical behavior, since the group queues are more commonly shared and usually occur more often for one user. They also tend to change (that is, receive tasks) more often than shared queues.

Additional information

There is a patch available for LiveCycle ES 8.2.1.2, so contact Enterprise Support if you require this patch.

reference: (181421696/2544926)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 0.0/10 (0 votes cast)

LiveCycle ES: ClassCastException calling deletePermsForPrincipalForRes(String, String, List)

Issue

If you are trying to remove permissions for a service in LiveCycle ES using the API method
  AuthorizationManager.deletePermsForPrincipalForRes(String principalOid, String resourceId, List permList)
you may encounter the following exception running your Java code:

| [com.adobe.idp.um.api.impl.AuthorizationManagerImpl] errorCode:16385 errorCodeHEX:0x4001 message:public method - 
| [IDPLoggedException] errorCode:8193 errorCodeHEX:0x2001 message:public method - chainedException:java.lang.ClassCastException: 
com.adobe.idp.um.api.infomodel.impl.PermissionImplchainedExceptionMessage:com.adobe.idp.um.api.infomodel.impl.PermissionImpl 
chainedException trace:java.lang.ClassCastException: com.adobe.idp.um.api.infomodel.impl.PermissionImpl
    at com.adobe.idp.um.businesslogic.directoryservices.DirectoryServicesManagerBean.modifyPermsToPrincipalForRes(DirectoryServicesManagerBean.java:7602)
    at com.adobe.idp.um.businesslogic.directoryservices.DirectoryServicesManagerBean.deletePermsForPrincipalForRes(DirectoryServicesManagerBean.java:7752)
    at com.adobe.idp.um.businesslogic.directoryservices.DirectoryServicesManagerBean_jrc290_ELOImpl.deletePermsForPrincipalForRes(DirectoryServicesManagerBean_jrc290_ELOImpl.java:2066)
    at com.adobe.idp.um.api.impl.AuthorizationManagerImpl.deletePermsForPrincipalForRes(AuthorizationManagerImpl.java:860)
    at com.adobe.idp.um.dscservice.AuthorizationManagerServiceImpl.deletePermsForPrincipalForRes(AuthorizationManagerServiceImpl.java:407)
    ....

Solution

This exception occurs if you try to pass a List of <Permission> objects to the method for the last argument. This List should display a List of <String> objects containing the permission OIDs for each permission object you want to remove.

Here is some sample code (ManageRolesAndPermissionsTest) to fix this issue.

Additional information

The current JavaDoc reference for LiveCycle ES is available at:

http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/javadoc/com/adobe/idp/um/api/AuthorizationManager.html#deletePermsForPrincipalForRes%28%29

reference: (181407999/2541386)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 0.0/10 (0 votes cast)

LiveCycle ES: JMXBeanManager warning filling up the server log

Issue

If you are using Adobe LiveCycle ES 8.2.1.2 or 8.2.1.3 you may notice that the server logs are filling up with warnings similar to those shown below:

####<Jan 27, 2010 9:27:11 AM MET> <Warning> <com.adobe.idp.dsc.jmx.JMXBeanManager> <sunc01016> <wl01qalc01> 
<[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> 
<1264580831624> <000000> <Failed to get mbean: server1:Type=AdobeService,Name=DirectoryManagerService,version=1.0. 
This message is a warning only. It should not impact LiveCycle's invocation>

####<Jan 27, 2010 9:27:11 AM MET> <Warning> <com.adobe.idp.dsc.jmx.JMXBeanManager> <sunc01016> <wl01qalc01> 
<[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> 
<1264580831649> <000000> <Failed to get mbean: server1:Type=AdobeService,Name=DirectoryManagerService,version=1.0. 
This message is a warning only. It should not impact LiveCycle's invocation>

####<Jan 27, 2010 9:27:11 AM MET> <Warning> <com.adobe.idp.dsc.jmx.JMXBeanManager> <sunc01016> <wl01qalc01> 
<[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> 
<1264580831694> <000000> <Failed to get mbean: server1:Type=AdobeService,Name=DirectoryManagerService,version=1.0. 
This message is a warning only. It should not impact LiveCycle's invocation>

This warning is harmless and can be ignored, however it can lead to the log files growing exponentially.

Solution

This issue is fixed in LiveCycle ES2 (9.0.0.0). Patches are available for LiveCycle ES SP2 (8.2.1.2) and LiveCycle ES SP3 (8.2.1.3). Contact enterprise support if you require one of these patches to ensure that they are compatible with your environment.

reference: (181407992/2540696)

VN:F [1.9.22_1171]
Was this helpful? Please rate the content.
Rating: 8.0/10 (1 vote cast)