XFA Specification
Chapter 11, Forms That Initiate Interactions with Servers
Using Web Services
330
Data descriptions and connection sets are used heavily for web services based on [WSDL1.1] and
[SOAP1.1]. Furthermore the XFA structures for the two are tightly integrated. For that reason, the reader
should be familiar with
“Data Description Specification” on page 746
and
“Data Description Specification”
on page 746
before proceeding with this section.
It is important to clarify the terms
client
and
server.
Normally in XFA the server is the computer that serves
the template to the XFA client. However web services have their own client-server relationship. The server
that provides a web service most likely has no knowledge of XFA or of the template. Instead, in web
services parlance, the XFA processor that initiates the transaction with (makes the request of ) the web
service is the client and the provider of the web service is the server. In this chapter the words client and
server, unless otherwise qualified, have the web service meanings.
Web Service Architecture
The web service architecture can be summarized as follows:
Fields and exclusion groups can act as either senders of data to a particular web service, receivers of
data from the web service, or both.
A field or exclusion group is not limited to a single Web Service. Instead it has the ability to interact with
different web services at different times.
Data may be coerced into a web service's input message schema, as defined by a provided data
description. The coercion is done in a separate DOM (the Connection Data DOM) so it does not affect
the regular Data DOM. The root node for the Connection Data DOM is
xfa.datasets.connectionData
(also known as
!connectionData
).
Scripts in the template may inspect and modify the data while it is in the Connection Data DOM.
Data returned from the web service is retained in the Connection Data DOM in its own schema.
Scripts in the template may inspect and modify data returned from a web service while it is retained in
the connection DOM.
Data from a web service may be imported into the existing Form DOM, or used to create a new Form
DOM.
In this version, XFA supports only web services that implement
doc-literal
SOAP operations over HTTP.
This means that the Web Service's WSDL must define a SOAP binding, operations with “document”
style, and messages with “literal” encoding. These terms are defined in Web Services Description
Language (WSDL) 1.1 [WSDL1.1]. RPC (Remote Procedure Call)-style operations are
not
supported by
this version of XFA. Also “encoded” messages are
not
supported by XFA, even though [WSDL1.1]
permits their use with “document” style operations.
Cycle of Operation in a Web Service Transaction
The cycle of operation in a web service transaction goes through the following steps:
1. An event object is activated. The event object has an execute property. The execute property has a
connection subproperty which names a particular connection within the
connectionSet
.
2. The XFA application marshals the complete SOAP message in the Connection Data DOM. The schema
for the message comes from the data description named by the connection's
dataDescription
property. The message includes data from all subforms, fields, and exclusion groups that are linked to
the connection by their connect children. Each connect child supplies a pointer mapping to a node in
the message where its parent's data is copied.
Home Index Bookmark Pages
Pages: Home Index All Pages