SOAP web services
You have probably read the terms "SOAP", "web services" and "SOA" before. But what is hidden behind these slogans and how this technology is applied remains a mystery to most users. This section explains in simple steps how to use a profile to send to and receive data from an external web service and how to create a profile that itself is a web service.
Important note: The basic procedure for receiving data via HTTP should already be known to you. Only web service specific HTTP settings are shown here. For special requirements, please refer to the linked descriptions of the respective Input Agent, Response, or function.
Terminology
Web service
A web service is a software application that is uniquely identifiable with a Uniform Resource Identifier (URI) and whose interface can be defined and found as an XML file.
WSDL
The Web Service Description Language (WSDL) is a platform, programming language, and protocol-independent description language for network services (web services) that exchange messages based on XML.
SOAP
SOAP (originally for Simple Object Access Protocol) is a network protocol used to exchange data between systems and perform remote procedure calls. SOAP relies on other standards. XML for the representation of the data and internet protocols of the transport and application layer (see TCP/IP reference model) for the transmission of the messages. The most common combination is SOAP over HTTP and TCP/IP. The abbreviation SOAP, however, is officially no longer used as an acronym since version 1.2, because firstly it is (subjectively) by no means simple and secondly it is not just about accessing objects.
Important technical note
Our web services use SOAP 1.2 transported via HTTP(S).
The styles soap:binding style="document" and soap:body use="literal" are supported.
This means that an XML document is embedded in the SOAP body, i.e. the root element of the XML user data simply appears as a child element of the SOAP body. This corresponds to the submission of a document that contains all the data belonging to a business process.
In contrast, style="rpc" would be typical for a web service that provides a variety of fine-grained minimal functions that the client must sequentially call in a particular order and logic. This is incompatible with the philosophy of primarily converting complete documents.
If the transmission of the body would not be "literal" but "encoded", an additional phase in the profile for decoding the payload before parsing would be necessary, or for encoding the target data before sending via web service. This is unnecessary if you do not send and receive native objects as payload, but an XML document. Our web services expect and send XML files, not Java objects.
If you as a client want to address a remote web service that does not meet the requirements (SOAP 1.2, style="document" and use="literal"), the configuration is not impossible, but at best, this will require a lot of manual editing of the configuration, increased implementation and testing effort and cooperation of the operator of the web service. Automatic implementation aids, such as the structure import from WSDL documents, will fail in this case. In the worst case, communication is not possible.
SOAP 1.1
If you still want to use SOAP 1.1, please note that the HTTP header "SOAPAction" must be set manually. See the following section.