Archive for May, 2010

LiveCycle ES2: NoSuchMethodError calling the Java API PDFUtilityServiceClient.getPDFProperties()

Issue

 If you are using the Java API from LiveCycle ES2 to interact with PDF documents you may notice the following exception when calling the PDFUtilityServiceClient.getPDFProperties() method:

2010-05-25 15:21:35,120 DEBUG main - Class - isDynamicOrShell: start pdf=<document state="passive" senderVersion="0" persistent="false" senderPersistent="false" passivated="true" senderPassivated="false" deserialized="false" senderHostId="null" callbackId="0" senderCallbackId="0" callbackRef="null" isLocalizable="false" isTransactionBound="false" defaultDisposalTimeout="600" disposalTimeout="600" maxInlineSize="65536" defaultMaxInlineSize="65536" inlineSize="0"><cacheId/><localBackendId/><globalBackendId><DocumentFileID fileName="C:\DOKUME~1\j253720\LOKALE~1\Temp\AdobeDocumentStorage\global\removeOn2010Y05M25D15h31m34s.1274794294000\1585088904463767867"/><globalBackendId/><senderLocalBackendId/><senderGlobalBackendId/><inline/><attributes file="junitWithLinkages\files\Ablage_Und_Archiv_PDF\Testpdf_S100421D421800200807141621520915_XFAFORM_dynamisch_1_Sig_SignoTec.pdf"/></document>
2010-05-25 15:21:35,120 DEBUG main - Class - getServiceClientFactory() - getting factory authenticated DSC_CREDENTIAL_USERNAME=administrator
2010-05-25 15:21:35,198 DEBUG main - JUnitExaminePDFCharacteristics - Error in TestIsDynamicOrShell
ALC-DSC-000-000: com.adobe.idp.dsc.DSCRuntimeException: Internal Error.
 at com.adobe.livecycle.pdfutility.client.PDFUtilityServiceClient.getPDFProperties(PDFUtilityServiceClient.java:134)
 at osplus.dms.service.renderengine.livecycle.ExaminePDFCharacteristics.isDynamicOrShell(ExaminePDFCharacteristics.java:40)
 at mainapp.util.JUnitExaminePDFCharacteristics.testIsDynamicOrShell(JUnitExaminePDFCharacteristics.java:43)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at junit.framework.TestCase.runTest(TestCase.java:154)
 at junit.framework.TestCase.runBare(TestCase.java:127)
 at junit.framework.TestResult$1.protect(TestResult.java:106)
 at junit.framework.TestResult.runProtected(TestResult.java:124)
 at junit.framework.TestResult.run(TestResult.java:109)
 at junit.framework.TestCase.run(TestCase.java:118)
 at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
 at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: java.lang.NoSuchMethodError: com.adobe.idp.Document.setInitialContext(Ljavax/naming/InitialContext;)V
 at com.adobe.idp.dsc.provider.impl.ejb.EjbMessageDispatcher.doSend(EjbMessageDispatcher.java:178)
 at com.adobe.idp.dsc.provider.impl.base.AbstractMessageDispatcher.send(AbstractMessageDispatcher.java:66)
 at com.adobe.idp.dsc.clientsdk.ServiceClient.invoke(ServiceClient.java:208)
 at com.adobe.livecycle.pdfutility.client.PDFUtilityServiceClient.getPDFProperties(PDFUtilityServiceClient.java:107)
 ... 18 more
Caused by: java.lang.NoSuchMethodError: com.adobe.idp.Document.setInitialContext(Ljavax/naming/InitialContext;)V
 at com.adobe.idp.dsc.provider.impl.ejb.EjbMessageDispatcher.initJndiContext(EjbMessageDispatcher.java:231)
 at com.adobe.idp.dsc.provider.impl.ejb.EjbMessageDispatcher.getJndiContext(EjbMessageDispatcher.java:241)
 at com.adobe.idp.dsc.provider.impl.ejb.EjbMessageDispatcher.initialise(EjbMessageDispatcher.java:91)
 at com.adobe.idp.dsc.provider.impl.ejb.EjbMessageDispatcher.doSend(EjbMessageDispatcher.java:141)
 ... 21 more

Solution

 This exception occurs when you try to call the method on the client side.  You need to call this method on the server side.

reference: (181607409)

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

LiveCycle ES: ALC-WKS-005-032: An error occurred while retrieving attachments and notes for task

Issue

 If you are trying to submit a form to start a process, you may notice the following error in the server logs:

14, 2010 4:27:56 PM MEST> <Notice> <Stdout> <xxxxx> <xxxxx> <[ACTIVE] ExecuteThread: '23' for queue: 'weblogic.kernel.Default (self-tuning)'> 
<<WLS Kernel>> <> <> <1273847276984> <000000> 
<[LCDS] [ERROR] Exception when invoking service 'data-service': flex.messaging.MessageException: 
ALC-WKS-005-032: An error occurred while retrieving attachments and notes for task 616305.
 incomingMessage: Flex Message (flex.data.messages.DataMessageExt)
 operation = fill
 id = null
 clientId = D6CC8793-5705-51BC-B5D8-972ED874CC81
 correlationId = destination = task-attachments
 messageId = 116BFB92-0520-A993-7F6A-9736E3DD1E7C
 timestamp = 1273847276941
 timeToLive = 0
 body = [ 9D7308E3-6721-16FD-2145-D2582D4431DF, 616305 ]
 hdr(DSEndpoint) = workspace-polling-amf
 hdr(DSId) = 191AECD1-A01E-947D-0F00-441BD702AE67

 Exception: flex.messaging.MessageException: ALC-WKS-005-032: An error occurred while retrieving attachments and notes for task 616305.
 at com.adobe.workspace.AssemblerUtility.createMessageException(AssemblerUtility.java:387)
 at com.adobe.workspace.attachments.TaskAttachmentAssembler.fill(TaskAttachmentAssembler.java:129)
 at flex.data.adapters.JavaAdapter.invokeFillOperation(JavaAdapter.java:939)
[....]
Root cause: com.adobe.idp.taskmanager.dsc.client.task.TaskManagerException: com.adobe.idp.taskmanager.dsc.client.task.TaskPermissionException: 
Access to task: 616305 is denied. User Calling API: 7CD995A1-B091-8E45-9DFD-7B972380CD36 but task is assigned to: 9D7308E3-6721-16FD-2145-D2582D4431DF
 at com.adobe.idp.taskmanager.dsc.service.TaskManagerServiceImpl.getAllAttachments(TaskManagerServiceImpl.java:2397)
 at sun.reflect.GeneratedMethodAccessor1981.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:585)
 at com.adobe.idp.dsc.component.impl.DefaultPOJOInvokerImpl.invoke(DefaultPOJOInvokerImpl.java:118)
[...]

This error occurs when the form is submitted, but no process is actually started.  If you look in the database you can see a task exists for the intial user task where the form is submitted, however the process id and action instance id associated with the task do not exist in those respective tables.

Reason

In LiveCycle we use a hash of the user’s canonical name as the key for the UserSession contexts.  In this case, two different users actually had the exact same hash value and so the UserSessions collided.

Solution

 There is a patch available for this issue in Es 8.2.1.2, and the issue has been fixed in ES2 SP2, and later versions.

reference: (181548195/2609083)

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

LiveCycle ES: AdminUI does not show all process names in the process search tool

Issue

 If you are using LiveCycle ES to search for processes using the adminui, then you may notice that not all processes are listed under the “Process Name – Version” drop-down list.  Only processes which are activated in Workbench, and which have process instances in the TB_PROCESS_INSTANCE table in the database, will show up in this drop-down list.

Solution

 Check that the process is activated in Workbench, and then you can run the following SQL query to verify that there are existing process instances for that process:

select distinct service_name, count(id) from tb_process_instance

group by service_name

order by service_name

reference: (181613727)

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

LiveCycle ES: Performance of AdminUI stalled operations and branches list is slow

Issue

 If you are using the Administration UI for Process Management and particularly the stalled operations/branches views in LiveCycle ES 8.2.1, you may notice it takes a long time to return the list of stalled items, particularly if there are many pages to be returned.  In some environments a delay of up to 1 minute can be observed which would be unacceptable for a production environment where the IT team need to be able to react quickly to any stalled instances in production.

This issue has been reported mainly with Oracle databases.

Solution

 The following SQL statements will add indexes to the appropriate tables in the LiveCycle database which will greatly improve the performance of these AdminUI views:

CREATE INDEX status_idx ON tb_action_instance(status);
CREATE INDEX sub_status_idx ON  tb_branch_instance(sub_status);

These indexes need to be created manually in ES (8.x) and ES2 (9.x) as they cannot be applied through ServicePacks.  The issue is fixed in ADEP (ES3).

reference: (181470980/2570677)

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

LiveCycle ES: old XDP templates with invalid WSDL URLs used for running processes

Issue

 If you have migrated from LC7 to LC ES and you were using webservices in your XDP templates in LC7, you may have modified these templates after the mgiration to LC ES to use updated WSDL URLs.  You may notice however that even for process instances started in LC ES the old template version is still being used, and so the invalid WSDL URL which means the tasks will no longer work as expected.

Reason

In LC7 we set both the template_url and hardened_template_url fields in the tb_form_data table to reference the forms used in LC7.  In LC ES we no longer use the hardened_template_url field for new LC ES processes.  However for processes migrated from LC7, we still use this field to reference the exact version of the form that was used to start the process.

The template_url field in tb_form_data contains only the URL to the form in the repository (/Forms/form1.xdp).  The hardened_template_url contains a timestamp with the URL to reference a particular version of the form in the repository, and can therefore referenence different versions of the form (@1271757648748/Forms/from1.xdp).

Solution

If you set the contents of hardened_template_url to empty in tb_form_data, then LC ES will use the template_url by default, which does not have a timestamp, and therefore will always refer to the latest version of the XDP form in the repository.  This will ensure that your updated XDP template with updated WSDL URL will be used for each process.

You can run the following SQL statements first to see how many rows are going to be changed:

Statement1:

This is used to check which forms are being used for active tasks which have a hardened URL set.  These are the forms that are going to be modified by the SQL query, so they should relate to the forms you have modified for the WSDL changes.

SELECT DISTINCT f.template_url, f.hardened_template_url
FROM tb_form_data f
WHERE f.task_id IN (SELECT t.id
 FROM tb_task t
 WHERE t.status < 100)

Statement2:

This is used to ensure that there are no NULL entries in the template_url field.  The template_url field is the field we are going to use to refer to the modified form. Therefore, this statement should not return any rows.  You should probably run this statement again checking for “ “ instead of NULL values just to be sure there are no empty strings in template_url.

SELECT t.form_data_id, f.id, f.template_url, f.hardened_template_url
FROM tb_task t, tb_form_data f
WHERE (f.template_url IS NULL) AND
 (f.hardened_template_url IS NOT NULL) AND
 f.task_id IN (SELECT t.id
 FROM tb_task t
 WHERE t.status < 100)

Statement 3:

If statement2 does not return any rows, then you can run this SQL to actually make the required changes in hardened_template_url.

UPDATE tb_form_data
SET hardened_template_url = NULL
WHERE (template_url IS NOT NULL) AND
 (hardened_template_url IS NOT NULL) AND
 task_id IN (SELECT t.id
 FROM tb_task t
 WHERE t.status < 100)

Notes

If you are unsure about applying these SQL queries to the Database, or if this occuring in a production environment, then contact your support representative to discuss the workaround and to verfiy the results of the first two SQL statements.

reference: (181544186)

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

LiveCycle ES: Error “Stalling action since child process is terminated”

Issue

 Terminating a sub-process in LiveCycle ES (8.x) stalls the sub-process’s parent action with the following message:

2010-04-23 10:55:21,884 ERROR [com.adobe.workflow.AWS] stalling action-instance: 328 with message: Stalling action since child process is terminated

This happens even if the parent action is already complete.  The expected behavior is that the parent action would not be stalled and this is how it worked in LC7.

Solution

This issue has been addressed in LiveCycle ES2 SP2 and later verions.   There is a patch available for this issue for LC ES 8.2.1.2, so contact enterprise support should you require this patch.

reference: (181577032/2610886)

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

LiveCycle ES2: text-shifts after conversion to Postscript using toPS2()

Issue

When you use the toPS2() method in LiveCycle ES2 to convert PDF files to PostScript, some text-shifting occurs in the resulting Postscript file.

Here is an example where the text is shifted upwards and starts to overlap the border:

PDF file:

PostScript file:

Reason

A bug in how the server handles the field placement during conversion causes this issue, and can lead to data-loss in extreme circumstances.

Solution

This issue has been addressed in LiveCycle ES2 SP1 and later versions.

reference: (181423968/2552257)

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

LiveCycle ES2: Checkbox marks changed after conversion to Postscript using toPS2()

Issue

When you use the toPS2() method from LiveCycle ES2 to convert PDF files to PostScript, checkbox marks are rendered differently in the resulting PostScript. For example, the checkbox marks are larger in the PostScript file than in the PDF file.

PDF file:

PostScript file:

Solution

This issue has been addressed in LiveCycle ES2 SP1 and later versions.

Additional information

A bug in the rendering functionality during the PostScript conversion causes this error. This problem causes issues for customers who convert legally binding documents, and must guarantee that they haven’t changed since they were completed or signed.

reference: (181435838/2571942)

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

Acrobat/Reader 8: Typewriter tool deactivated after each use

Issue

The Typewriter tool in Acrobat or Adobe Reader 8 is deactivated after each text entry that you make in a PDF file. You have to select the Typewriter tool for each text entry you make.

In Acrobat and Reader 7, the Typewriter tool remains active until you manually deactivate it, or select another tool.

Solution

Update to Acrobat or Reader 9.  The typewriter tool has been fixed and will remain active.

reference: (181558742/1553038)

 

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