Creating SOAP Provider

This section explains how to create SOAP Provider service in Adeptia Connect. Perform the following steps to create SOAP Provider service:

  1. Click Configure > WEB SERVICES > SOAP Provider.

  2. Click Create SOAP Provider



  3. On the Create SOAP Provider window, type the name and description of the new Provider service in the Name and Description text boxes respectively.

    In case, the Provider service contains characters which falls in the character set encoding, other than the default character set encoding, then you can change this encoding in the Character Set Encoding text box. By default, this text box will display you the character set encoding that you have defined at the application level.

  4. Select the type of web service that you want to publish from the Publish As. The available options are Process Flow and Template.
    Select Process Flow, to publish as a Process Flow. Or, 
    Select Template, to publish as a Template. 

  5. Select Yes If you want to upload your own WSDL file, else select No in the Upload WSDL field.

    By default, the value of this field is No. However, If you change the value to Yes, a message box appears prompting you to change the configuration values. 


     If you select 'Yes', expand this section and follow these steps...
    1. By default, the request service will be in the services/<folder name>. You can change this location and provide a new location for accessing the web service.

    2. If you want your SOAP Provider service to offer a SSL security, select Enable SSL check box.

    3. Select the port from the drop-down box of Select Port field.

      This Web Service will be published over SSL and will use SSL configuration (KeyStore, TrustStore etc) defined for this selected port in the server.xml file. In case you want to change this SSL configuration or you want to define a new port then you need to edit/add port in server.xml file. Click here to get more details.
    4. If WSDL file is referring to another WSDL or XSD file, then you can either choose an existing file reference activity from the File References drop-down list or click on the  button to create a new file reference activity. You can click on the  button, if you want to update an existing file reference activity. For information on how to create a file reference activity, refer to Creating File Reference.

    5. Click Browse WSDL and upload the WSDL file that you want to use while creating your Web Service Provider service.

    6. After the file is uploaded successfully, few new fields will add in the screen. 
    7. If there is only one service name in your WSDL file then Adeptia Connect will show that service name as selected. If there are multiple service names in your WSDL file then Adeptia Connect will show you all the services in a drop-down list options in the Service Name text box. In this case, you have to select the service that you want. 

      When you select the service name, it will populate the Binding text box automatically. This text box displays only those bindings that corresponds to the service name, which you will select in the Service Name text box. If in the WSDL definition file, there is only one binding for any service name then by default, you will see only that binding in the Binding text box. However, if there are multiple bindings for a service name then you will see all the bindings in the Binding drop-down box.
    8. Select a mode of configuration from the Configuration Mode drop-down box.

      • For All Operation: In case you want to select just one process flow to invoke any operation then select this option. However, you can execute the process flow only when you invoke an operation.
      • Per Operation: In case you want to select multiple process flows for invoking different operations then select this option. Here you can also leave any operation unbound. If you invoke any unbound operation then, you will see a "Requested Operation is not implemented" error message.

    9. Select the way you want to process your payloads (request or response). The available options are In Memory and File.
      In Memory: Select this option, the default selection, if your payload  size is small. In this case, the system processes web service payloads in the memory.

      File: Select this option if your payload size is relatively large. This helps while dealing with large volumes of payloads. As here, the system processes payload in a file, i.e., a physical space instead of memory, reducing the amount of memory needed for processing payloads.

    10. Type the input and output variables in the Input Variable and Output Variable text boxes respectively. These names must match with the names defined in the properties section of Process Designer. The name of these variables should be the same as you defined in the respective process flow. 

    11. Select the security policy activity from the Security Policy drop-down box. For information on how to create a security policy, refer to Creating Security Policy for Web Services.
    12. To extract attachments from the request and send it with your response, select Enable Attachment check box.

      A message box appears prompting to configure the Process Flow settings for the production environment. This message box appears only if Optimize for Real-Time check box is not selected. For more information, refer to Creating Process Flow.
     If you select 'No', expand this section and follow these steps...
    1. Enter the name of the operation in the Operation Name field that you want the SOAP Provider to perform.

    2. Type request service name, by which you want to publish your web service, in the Request Service Name text box.

    3. By default, the request service will be in the services/<folder name>. You can change this location and provide a new location for accessing the web service.
    4. If you want your SOAP Provider service to offer a SSL security, select Enable SSL check box.
    5. Select the port from the drop-down box of Select Port field.

      This Web Service will be published over SSL and will use SSL configuration (KeyStore, TrustStore etc) defined for this selected port in the server.xml file. In case you want to change this SSL configuration or you want to define a new port then you need to edit/add port in server.xml file. Click here to get more details.
    6. Select the SOAP version from the Soap Version drop-down box.

    7. Select the process flow to publish as web service from the Process Flow Name drop-down box.

      While creating process flow for web services, you must keep the following things in mind:

      • Use Context source and target activities.
      • Input and Output variable names in the process flow properties must match with the ones that you enter while creating the provider activity.
    8. Select an input XML schema from the Input XML Schema drop-down box. 

    9. Select the output XML schema from the Output XML Schema drop-down list box.

      In case, an XML Schema has multiple roots then click Select Root button and select a root.
    10. Specify the way you want to process your payloads (request or response). Choose one of the following:

      • In Memory
        Select this option, the default selection, if your payload  size is small. In this case, the system processes web service payloads in the memory.

      • File
        Select this option if your payload size is relatively large. This helps while dealing with large volumes of payloads. As here, the system processes payload in a file, i.e., a physical space instead of memory, reducing the amount of memory needed for processing payloads

        While using File payload process type, the following additional changes must be made in the process designer:

        1. In the process designer, use Context Source and Context Target.
        2. Click Context Source and change its Document Repository property to True.
        3. In the File Name(with full path) field, choose $$WS_PROVIDER_PAYLOAD_SOURCE$$ variable.
        4. Repeat step b and c for Context target too. However, in the File Name(with full path) field, choose $$WS_PROVIDER_PAYLOAD_TARGET$$ variable.

        It is recommended that you use different process flow whenever a payload process type changes. For example, if a provider activity created with In Memory payload process type uses X process flow, then this process flow can be reused in any provider activity created using In Memory payload process type only, and not with a different payload process type, i.e., File.

        The web service provider stores these payloads at a base location that you can configure by the following steps:

        1. Click Configure > Developer Studio > Proceed.
        2. From the Adeptia Suite home page, click the Administer tab.
        3. On the Administer tab, click the Update System Properties link.
        4. On the Update System Properties screen, click on Services a Web Service Configuration.
        5. Enter the path where you want to store the payloads during processing, in the value of abpm.webservice.metro.soapattachment.location property.
    11. Type the input and output variables in the Input Variable and Output Variable text boxes respectively. These names must match with the names defined in the properties section of Process Designer.

      The names of these variables should be the same as you defined in the respective process flow.

    12. Select the security policy activity from the Security Policy drop-down box. For information on how to create a security policy, refer to Creating Security Policy for Web Services.

    13. If you want to extract attachments from the request and send it with your response, select Enable Attachment check box.

  6. To use WS-Addressing, expand WS-A Addressing.
  7. Select the Enable WS-A addressing check box and define all the parameters.
    1. If you want to override WS-Addressing Parameters values dynamically then you need to select the check box. 
      If you select that checkbox, then the SOAP Provider service will use the values or parameters in the corresponding context process flow and would ignore the parameters or values in the text boxes. However, if you do not select this check box then the SOAP Provider service will use the values or parameters of this section for the respective SOAP Provider service.

  8. Expand Advanced Properties and select the project from Project drop-down list.
  9. Click Save.