Skip to Content

From recent discussions I had with various people I recognized a confusion of two different types of data connections that can be used with Interactive Forms. I want to discuss XML Schema-based and WSDL-based Data Connections and how they are related to each other since calling web services from an Interactive Form became more and more popular. If you plan to implement a scenario that uses both types of data connections you should know the differences to avoid unexpected results.

Let’s start with XML Schema-based data connections.

Behind the scenes of every interactive PDF-Form there is exactly one XML data structure. The data description is defined by either an XML Schema data connection or a Sample XML data connection. And because there is exactly one data structure you can only define one such data connection (i.e. the options are greyed out if you try to add additional data connections). Sample XML data connections are not used in the SAP context since all frameworks that integrate Interactive Forms provide XML schemas. XML Schemas provide more information like min or max occurrence of data nodes which is leveraged by Adobe LC Designer.

The data binding (on the “Bindings” tab of the object inspector in Designer) defines the binding of a form field to a data node. The binding describes where the value of a form field is stored in the underlying XML data structure (i.e. using the XML Schema/Sample XML data connection). 

And this is what’s behind WSDL-based data connections.

WSDL-based data connections are used during runtime when a web service is called. The WSDL-based data connection describes the structure of the request and the response that is created for/received from a web service call. These are temporary data structures that are not related to the underlying XML data structure of the Interactive From.

There are additional fields on the “Binding” tab called “Import/Export bindings (Execute)”. These are used to bind form fields to the structure of the request/response for a web service call.

You also might have noticed that while you can define only one binding to a XML Schema data connection you can have multiple bindings to WSDL-based data connections. You can even use the result of a web service call (i.e. an import binding) as a parameter in the request for another web service call (i.e. export binding).

Now, we can look at the two types of data connections together.

It is good practice that every form is based on either a XML Schema-based or Sample XML-based data description. If you do not use such a data connection you might wonder what the data structure looks like if the data is extracted on the server or you submit only the data structure (e.g. via email). In this case the data structure is derived from the form design (e.g. from the form hierarchy if “normal” binding is used).

I want to note that the data structure is not derived from the WSDL data connection even if there is no XML Schema/Sample XML data connection.

Additionally, multiple WSDL-based data connections (even based on the same WSDL) can be used to call several web service from the Interactive Form.

To report this post you need to login first.

5 Comments

You must be Logged on to comment or reply to a post.

  1. Tanuj Bolisetty
    Hi,

    We have developed a Offline interactive adobe form which makes a webservice call.

    It works fine in Dev. When we move the form to QA system it still uses the WSDL in the XML source in the form which is still pointing to DEV.

    If we open the QA system for change and make a New data connection with the WSDL from QA system , it works fine.

    Unfortunately we cannot open the QA system for this change.

    (0) 
    1. Juergen Hauser Post author
      This is correct. Since you used the WSDL from your dev system. My recommendation is to provide the URL as part of the data stream to the PDFfrom and use scripting to change the address of the web service dynamically. This is basically the same recommendation as for e-mail addresses (I blogged on that before).
      (0) 
  2. Sourav Chatterjee
    Hi,
    I am using two data connections.The XML Scheme Based and WSDL based.
    So when I download the PDF the XML Scheme based is used, it reads the WebServie and prefills the fields.
    Now the user can make changes to the values in the fields and then re-submit in whcih case the second data connection is used which save the changes using Webservices.
    For form(flat structure like) data this works fine as I just bind the data in the binding and the import/export Bindings picks it up and sends it to the Webservice.
    But I am facing problem when i have table data.I can read the specific table data, but is there a way I can bind it to the runtime binding of the Webservice before the Webservice gets executed?

    Thanks and Best Regards
    Sourav

    (0) 
    1. Juergen Hauser Post author
      Hi,

      You can also bind repeated data (i.e. your table data) using an asterix (*) in the import/export data binding.

      Please post your question on the IFbA forum so that more people see it and can provide an answer.

      Thanks,
      Juergen

      (0) 
  3. Mohana Vamsi Mamillapalli

    Hi,

    I have developed one web service using a RFC.

    while calling it through adobe form I am getting error ‘Erro during submit process. Can’t process content xml/text”. If I use ADOBE professional, I am getting “Unknown error” and descrpiption show my wsdl.

    This wsdl works fine in browser.

    Can you please let me know whats wrong with my web service.

    Thanks and regards,

    Vamsi

    (0) 

Leave a Reply