Introduction to the XML/SOAP Wrapper

The EntireX XML/SOAP Wrapper enables XML-based communication to EntireX/Natural RPC servers and communication from EntireX/Natural RPC clients to XML-based servers. This document covers the following topics:


XML/SOAP Wrapper Concepts

The EntireX XML/SOAP Wrapper and the RPC Server for XML/SOAP enable XML-based communication via XML/SOAP Wrapper. An EntireX RPC server or a Natural RPC Server can communicate with XML-based clients. Similarly, an EntireX RPC client or Natural RPC client can communicate with an XML-based server via RPC Server for XML/SOAP. EntireX participants (client or server) with an XML-based application (server or client) can be easily integrated with the Software AG Designer and the EntireX XML/SOAP Wrapper/ RPC Server for XML/SOAP.

The XML Mapping File is an XML file (file extension .xmm) generated by the EntireX XML Mapping Editor and used by the EntireX XML/SOAP Runtime, to map between XML documents and EntireX/Natural RPC parameters.

Communication is synchronous.

graphics/writea.png

XML-based Clients Calling EntireX/Natural RPC Servers

The XML-based client sends an XML document to EntireX XML/SOAP Runtime.

From an incoming XML document, the EntireX XML/SOAP Runtime extracts (using the mapping file) the information necessary to call an EntireX/Natural RPC server. It executes the RPC. The result returned by the EntireX/Natural RPC server is used to create an outgoing XML document.

The XML-based client gets an XML document containing the response.

Mapping example: calc

graphics/xml_rpc1.png

A mapping editor is provided to map the XML structures to those of the server application.

EntireX/Natural RPC Client Calling XML-based Servers

The RPC client sends a request to the RPC Server for XML/SOAP. The RPC Server for XML/SOAP translates (using the mapping file) the information of an EntireX client call to XML (so it can be understood by an application with an XML interface). The RPC Server for XML/SOAP sends the XML document to the XML-based server via HTTP(s) and receives an XML document from the XML-based server. It translates the received XML document and sends the response to the RPC client.

graphics/xml_rpc2.png

Development Environment

During the development process, users map XML document structures to RPC parameters and vice versa, and generate the XMM (XML Mapping) File.

graphics/developmentEnvironment.png

XML Mapping Editor

The input for the XML Mapping Editor is an existing Software AG IDL file. See XML Mapping Editor.

The XML Mapping Editor allows users to map the structure of an incoming XML document to the incoming parameters (IN, INOUT) of a Natural RPC Server and the parameters returned by the EntireX/Natural RPC server (OUT, INOUT) to the structure of the outgoing XML document.

To ease the development process, standard mappings can be created automatically. These can be modified and adapted.

Supported standard mappings are:

  • element-oriented mapping

  • attribute-oriented mapping

  • SOAP-conformant mapping

See Basic IDL-XML Mapping.

Generation Utilities

After the mapping process, the following runtime components can be generated:

  • XML Mapping Files
    are used at runtime to map between the XML documents and the EntireX/Natural RPC parameters.

XML/SOAP Runtime Environment

The EntireX XML/SOAP Runtime enables XML-based clients to communicate with an EntireX/Natural RPC Server; and it enables EntireX RPC clients to communicate with applications that have an XML or SOAP interface (via XML/SOAP Runtime).

XML Clients Communicating with EntireX/Natural RPC Servers

The incoming XML document is mapped by the generated XMM file to the EntireX/Natural RPC parameters, using the mapping files created during the development process. From the parameters returned by the EntireX/Natural RPC server, the generated XMM file creates the outgoing XML document, using the corresponding mapping files.

graphics/xmlClients_exxNatRpc.png

The XML/SOAP Runtime provides two client-side interfaces:

To make it possible to call the XML/SOAP Runtime from within a Web server, see Listener for XML/SOAP.

EntireX Clients Communicating with XML or SOAP Interfaces

The XML/SOAP Runtime can connect EntireX clients to applications that have an XML or SOAP interface, for example SAP or PeopleSoft. These applications are then the XML server. Example: An EntireX client requests information of an SAP application. The request is sent to the EntireX Broker and the EntireX XML/SOAP Runtime (translated to XML there) and then to the SAP XML interface, processed by the SAP application. The response is returned the same way.

graphics/exxClients_xmlSoap.png

The XML/SOAP Runtime provides two server-side interfaces:

  • A Java interface
    The Java interface can be used to modify the document and determine further processing.

  • An HTTP interface
    The XML/SOAP document is sent to the specified target.

Glossary of Terms

RPC Server for XML/SOAP

The EntireX RPC Server for XML/SOAP allows RPC clients to communicate with target servers via HTTP(S). The RPC Server for XML/SOAP transforms RPC client calls into XML/SOAP calls. It works together with the XML/SOAP Wrapper.

XML-based Client

Client sends and receives data as an XML or SOAP document.

XML-based Server

Server receives and sends data as an XML or SOAP document (for example a web service).

XML Mapping File

The XML Mapping File is an XML file (file extension .xmm) generated by the EntireX XML Mapping Editor and used by the EntireX XML/SOAP Runtime, to map between XML documents and EntireX/Natural RPC parameters.

XML/SOAP Runtime

The EntireX XML/SOAP Runtime enables XML-based clients to communicate with an EntireX/Natural RPC Server; and it enables EntireX RPC clients to communicate with applications that have an XML or SOAP interface (via XML/SOAP Runtime).

XML/SOAP Wrapper

The EntireX XML/SOAP Wrapper enables XML-based communication to EntireX/Natural RPC servers and communication from EntireX/Natural RPC clients to XML-based servers.