Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

Steps for configuring data submission from mobile forms

Avatar

Level 2

Hello everybody.

Recently I've upgraded our LiveCycle installation to the ES4 and configured it to enable Mobile Forms component. Now I want to understand how to configure LiveCycle or its Mobile Forms component or maybe something else to let some servlet deployed on WebSphere Portal to collect data provided by users.

Shortly, we have a system in a production that was developed using LiveCycle ES3. Our system provides users with a PDF forms which were designed in LiveCycle Designer ES3. This PDF forms contain the button of type Submit. The button has an URL http://app_srvr_host/PdfFormParserWeb/XmlParser#FDF which is the URL to my servlet.

Now I want to keep this functionality, but using Mobile Forms capabilities. At first I saved old PDF form as XDP in LiveCycle Designer ES4, then I used the URL with 'contentRoot' and 'template' parameters and default.html profile to open my form in a browser. When I fill it and press the button I see that servlet is called but the data isn't an XML, it looks something like "_4=&_6=Talgat&_8=Karylgashov&_10=...". I've found this article LiveCycle Help | Mobile Forms Service Proxy, but I don't sure if this is the right way. Also I didn't find any detailed information about this Service Proxies, where I should deploy them (on LiveCycle server or maybe on the Application Server), what is the structure of this Service Proxies and so on.

Please let me know if I'm on the right way and this Service Proxies is only one solution for collecting data from users. And if so any detailed information about this approach would be also very appreciated. Thanks in advance.

1 Accepted Solution

Avatar

Correct answer by
Employee

ES4 Sp1 is general recommendation if you are serious about using Mobile Forms.

View solution in original post

6 Replies

Avatar

Employee

Do you have LiveCycle ES4 Sp1 installed? Make sure you have that.

Another thing, please add submitUrl pointing to your servlet, it would post dataxml to given servlet.

For more details: LiveCycle Help | Rendering Form Template

Avatar

Level 2

Thanks a lot for your quick reply!

No, I didn't install SP 1 over ES4. Do you mean that data submission will only work in SP1 and it wouldn't work in a clean ES4 installation even if I add 'submitUrl' as a parameter?

Avatar

Correct answer by
Employee

ES4 Sp1 is general recommendation if you are serious about using Mobile Forms.

Avatar

Level 2

Thank you, Deepak!

I've downloaded SP1 and after installing it I'll try to call my servlet again.

Avatar

Level 2

Deepak, thank you again.

After installing SP1 over LiveCycle ES4 the form began to return data in XML format. Now I can process it in my servlet.

Avatar

Level 1

Hello tkarylgashov,

I have installed SP4 SP1 and when testing the forms with http://LCserver:8080/mobileformsivs/ I can see the the the submit button render XML. However when rendering the same form on an external server I am getting an error. See error below.

[ALC-FRM-901-008] : Couldn't connect to the server [Exception... "Failure"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: http://localhost/lc/etc/clientlibs/xfaforms/profile.js :: .send :: line 2"  data: no]

I have followed the steps of the Form Bridge that Adobe mentioned on this URL http://helpx.adobe.com/livecycle/help/mobile-forms/form-bridge.html

External applications use the FormBridge API to connect to the XFA Mobile Form. The connect API takes the handler that is called after the connection between XFA and FormBridge is made successfully.

The following code sample shows the connection to FormBridge. Add the following code before including formRuntime.jsp:

// Example showing how to connect to FormBridge

window.addEventListener("FormBridgeInitialized",

                                function(event) {

                                    var fb = event.detail.formBridge;

                                    fb.connect(function() {

                                           //use form bridge functions

                            })

                            })

Keep in mid that my LC server is on a different server than my application server.

Could you please help?

Thanks