Implementing SOAP Web Services
With MapForce Enterprise edition you can generate Java or C# program code that implements SOAP Web services, from existing Web Services Description Language (WSDL) files. You can map data to WSDL operations as follows:
•From the input of the WSDL operation to any data sources supported by MapForce, including flat files, XML, XBRL, EDI, Microsoft Excel, and databases.
•From data sources supported by MapForce to the output of the WSDL operation.
|Note:||As an alternative to developing SOAP Web services from existing WSDL files, you can also deploy MapForce mappings to MapForce Server, where you can run them through an API or command line call. Additionally, with FlowForce Server, you can further expose the mapping as a generic (not SOAP) Web service on the machine where FlowForce Server runs. Any mapping designed for the BUILT-IN transformation language qualifies for deployment to MapForce Server or FlowForce Server. FlowForce Server is a dedicated server solution that is capable not only to convert MapForce mappings into generic Web services, but also run them as scheduled or on demand jobs. For more information, see Deploying Mappings to FlowForce Server.|
To create a Web service with MapForce, the WSDL file of the Web service is required. Note that you can design WSDL files and test SOAP requests with XMLSpy, for example. Additionally, you need platform-specific software required to build, deploy, and run a SOAP Web service, for example:
•Java SE JDK 8 or 11 (including OpenJDK)
•Apache Tomcat: https://tomcat.apache.org/
•Apache Axis2: https://axis.apache.org/axis2/java/core/, a SOAP framework running within Tomcat
•Apache Ant: https://ant.apache.org/
•Microsoft Visual Studio 2013, 2015, 2017, 2019, 2022
•Microsoft Internet Information Services (IIS) version 5.0 or later.
How it works
The following diagram illustrates the entire process, starting from implementing a Web service from an existing WSDL file up to the stage when it can be called by SOAP client applications. Note that only the first two steps take place in MapForce. Steps 3 and 4 depend on the specifics of the third-party tools and environments used by your organization.
The process illustrated above works as follows:
1. Design the Web Service from an existing WSDL file
Once you have the WSDL file, you can start a new MapForce Web Service Project. A MapForce Web Service Project has a predefined structure that enables you to quickly access a particular WSDL operation or Web service in it. When you start a MapForce Web Service Project, you can optionally instruct MapForce to generate mapping files automatically for all WSDL operations found in the WSDL file. As an alternative, you can select individually the WSDL Services and WSDL Endpoints to be included in the MapForce Web Service Project. In the graphical user interface of MapForce, WSDL operations correspond to mappings, and the operation's input and output parameters appear as components in the mapping.
While working with mappings that include input or output of WSDL operations, you can preview the execution result as you would do for any other mapping. To do this, you need a sample SOAP request file (XML format) that conforms to the WSDL grammar of the Web service (such instance files can be generated with XMLSpy).
2. Generate Java or C# Code
When your Web Service Project is ready in MapForce, you can generate the C# or Java code either for individual mappings (for testing purposes), or for the entire project. In the latter case, MapForce creates a complete Web service server in the language of choice (C# or Java).
3. Build and deploy the Web service to a server
In this step, you compile the generated C# or Java code (outside MapForce) and deploy it to your custom Web server. Your Web server must be capable to host SOAP services and respond to SOAP client calls, see the "Prerequisites" section above.
4. Host Web service
The compiled Web service can be hosted by the server of your choice, for example:
•Internet Information Services (IIS)
5. Call Web service
The clients of the Web service include any application that is capable of generating SOAP calls and processing the response, including XMLSpy or MapForce itself.