SOAP APIs

webMethods.io Integration allows you to trigger project workflows and FlowServices through API endpoints, add custom APIs or export existing ones, link them with your project workflows and FlowServices, and then make API requests to execute the associated workflows and FlowServices.

Creating SOAP APIs

Web services are building blocks for creating open, distributed systems. A web service is a collection of functions that are packaged as a single unit and published to a network for use by other software programs. For example, you could create a web service that checks a customer’s credit or tracks delivery of a package. If you want to provide higher-level functionality, such as a complete order management system, you could create a web service that maps to many different flows, each performing a separate order management function.

A SOAP API defines a web service and it encapsulates all the information of a web service. The SOAP API contains the message formats, data types, transport protocols, and transport serialization formats that is used between the consumer (requester) and the provider of the web service. In essence, the SOAP API represents an agreement governing the mechanics of interacting with that service.

webMethods.io Integration allows you to write integration logic to integrate different types of connectors. This logic can be exposed to the external world using SOAP APIs. A SOAP API is a service provided to external users.

An operation is the WSDL element that exposes some functions of a web service and defines how data is passed back and forth. A SOAP API exposes one or more FlowService as operations, so each operation in a SOAP API corresponds to a FlowService. The input for the FlowService corresponds to the request body for the operation. The output of the flow is the response body for the operation.

You can create SOAP APIs from scratch or by using a WSDL file. A SOAP API exposes one or more FlowServices as operations, so each operation in a SOAP API corresponds to a FlowService.

How it Works

  1. From the webMethods.io Integration navigation bar, click Projects.
  2. Select a project and then click APIs > SOAP API.
  3. The SOAP APIs page appears.

  4. From the SOAP APIs page, click Create API. A new API page appears.
  5. You can create an API in one of the following methods:

    Create a new SOAP API from scratch

    1. On clicking this option, click Next. The Basic Info page appears.
    2. Fill in values for the fields as per the instructions given below:<

      Field Description
      Name Provide a suitable name for the API. For example, Soap_api_test1.
      Description Provide a short description for the API.
      Version Choose whether SOAP messages for this SOAP API should use SOAP 1.1 or SOAP 1.2 message format. For example, let us use SOAP 1.1.
      Use and style for operations A WSDL SOAP binding can be either a document style binding or a Remote Procedure Call (RPC) style binding. A SOAP binding can also have a literal or an encoded use. Select the use/style for operations in the SOAP API:
      - Document - Literal
      - RPC - Literal
      - RPC - Encoded
      Let us select Document - Literal as example.
      Select FlowService Displays all the FlowService available in the selected project. Select a FlowService to use as an operation. The operation signature becomes the input and output messages for the operation in the WSDL document. For example, let us select “AddInts”. For more information about creating FlowService, see FlowServices
      Enforce WS-I Basic Profile 1.1 compliance Select this option if you want FlowServices to validate all the SOAP API objects and properties against the WS-I requirements before creating the SOAP API.
      Validate schema using Xerces FlowService automatically uses an internal schema parser to validate the schemas associated with the XML Schema definition. Select this option if you want FlowServices to also use the Xerces parser to validate the schemas associated with the XML Schema definition. However, the Xerces parser provides stricter validation. As a result, some schemas that the internal schema parser considers to be valid might be considered invalid by the Xerces parser.

    3. Click Save.
    4. With this, you have successfully created and saved an API for your project.

      Create API by importing API from a specified file

      1. On clicking this option, click Browse, import a WSDL file, and click Next. The Build a SOAP API with WSDL page appears.

        Note: Click the beside the Browse button if you want to add separate elements of a service definition after import, such as WSDLs or XSDs to the primary WSDL.

      2. Next, fill in the values for the fields as per the instructions given below:

        • Name - Provide a suitable name for the API you want to create. For example, let us use Soap_api_test2 as the API name.
        • Description - Provide a short description for this API.
        • Content model compliance - Under Content model compliances, select a content model compliance to indicate how strictly webMethods.io Integration represents content models from the XML Schema definition in the resulting document type. Let us select the option None.

      3. On filling in the details, click Save.

        With this, you have successfully imported and saved an existing API for your project.

        Import API using URL

        1. On selecting this option, click Next, The Basic Info page appears.

        2. Next, fill in values for the fields as per the instructions given below:

          • Name - Provide a suitable name for the API you want to create. For example, Soap\_api\_test3.
          • Description - Provide a short description for this API.
          • WSDL URL - Provide a valid WSDL URL that can be accessed over a network. For example, https://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl.
          • User Name - Enter a username to access the WSDL URL.
          • Password - Enter a password to access the WSDL URL.
          • Content model compliance - Under Content model compliances, select a content model compliance to indicate how strictly webMethods.io Integration represents content models from the XML Schema definition in the resulting document type. Let us select None.

        3. On filling in the details, click Save.

          With this, you have successfully imported and saved an API using URL for your project.

          You can now view all the SOAP APIs that you created under SOAP APIdetails page.

          You can edit, delete, and copy a SOAP API from the SOAP API details page. The Action(s) column displays the edit , delete , and copy icons.

          • To edit an existing SOAP API, on the SOAP APIs page, click the edit icon.
          • To delete an existing SOAP API, on the SOAP APIs page, click the delete icon.
          • To copy a SOAP API, select a SOAP API, and click the copy icon . The Copy dialog box appears.
            • Select a project from the drop-down list.
            • Type a new name in the Name field.
            • Click Save.

          The system creates a copy of the SOAP API with the new name and it appears in the SOAP APIs page of the target project.

          If you create a SOAP API by using a WSDL file, a copy of the SOAP API (including its dependencies namely its FlowServices, Document Types, and Operations) is created. When FlowServices encapsulated by the copied SOAP API are modified, the changes are reflected only in the copied SOAP API and not in the SOAP API from which it was copied. This is because, if you have created a SOAP API using the Import API approach, each SOAP API has its own set of FlowServices.

          If you create a SOAP API by using an existing set of FlowServices (Create from scratch), a copy of the SOAP API is created. You can type a new name at the time of copying and a SOAP API with the new name is created. The same FlowServices that are referred to in the original SOAP API are also referred to in the copied SOAP API (provided it is copied in the same project). If the referred FlowService is modified in the copied SOAP API, then the changes will reflect in the original SOAP API because both the SOAP APIs refer or point to the same FlowServices (This does not happen when the Create from scratch SOAP API is copied to a different project as the referenced FlowServices are also copied to the target project). However, if another operation with a different FlowServices is added to the copied SOAP API, this does not show in the original SOAP API.

          To view the API details page, click the SOAP APIs name link. You will then be redirected to the API details page.

          On the API details page, you can view the WSDL document associated with the SOAP API. The displayed WSDL document contains all the information to invoke the operations described in the WSDL. For a SOAP API created from a WSDL that contains relative URIs that are anonymously addressable, webMethods.io Integration replaces any relative URIs with an absolute URI using the base URI of the WSDL file.

          Click the Operations tab to go to the Operations page. webMethods.io Integration uses the operation definitions from the WSDL to generate a FlowService for each operation in the WSDL.

          Note: You cannot add operations in a SOAP API created from a WSDL. Also, you cannot delete operations from a SOAP API created from a WSDL.