XFA Specification
Chapter 11, Forms That Initiate Interactions with Servers
Using Web Services
336
Similarly, the
soapAddress
child of
wsdlConnection
is copied from the location attribute of the
soap:address
element in the WSDL definition file.
The operation child of
wsdlConnection
associates the names used within the XDP to the operation(s)
and messages defined in the WSDL definition. Here, the service exposes one operation, identified by the
string
"TradePriceRequest
". This is the content of the operation element. The input and output
attributes identify the element definitions for the input and output messages, respectively, in the WSDL
definition.
Note that in a WSDL file several operations with the same name can exist. This is analogous to function
overloading. In this case, the input and output attributes uniquely identify the selected operation. If the
input or output element in the WSDL file does not have a name attribute, the attributes must be set to the
default input or output name as specified in [WSDL1.1] Section 2.4.5.
The associated data description controls the format of the message sent by the XFA application to the web
server. This message includes the input message defined by the WSDL description and a [SOAP
1.1]
envelope around it.
Example 11.3 Data description packet for the example
<dd:dataDescription
xmlns:dd="http://ns.adobe.com/data-description/"
dd:name="DataConnectiongetTradePriceRequestDD">
<TradePriceWS>
<soap:Body
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<tns:TradePriceRequest>
<tns:tickerSymbol/>
</tns:TradePriceRequest>
</soap:Body>
</TradePriceWS>
</dd:dataDescription>
This data description matches the input message
GetLastTradePriceInput
from the WSDL service
description. Note that the data description merely describes the message format. It does not define the
binding of data in the Data DOM to the message. This binding is performed by the individual connect
children of fields, exclusion groups, and/or subforms in the Form DOM.
This data description does not include a schema for the output message. This is not required because XFA
does not need a schema to import data.
Messages Represented in the Connection Data DOM
The structure of data in the Data DOM is unlikely to match the required structure for input and output
messages, more so because a single form may exchange data with any number of web services. In addition
the messages are wrapped in SOAP envelopes which may also contain information of interest. Therefore
the input message is sent from, and the output message received into, a separate DOM called the
Connection Data DOM. The Connection Data DOM is located under the node
xfa.datasets.connectionData
(or equivalently
!connectionData
).
Associating Fields and Exclusion Groups with Nodes in the Connection Data DOM
Fields and exclusion groups can have connect children that associate them with particular nodes in the
Connection Data DOM. The connect children control the movement of data between the Data DOM and