A SOAP activity retrieves data from or sends data to a SOAP endpoint and is intended to be used as either a source to provide data to an operation or a target to consume data in an operation. The specific activities that are available depend on the SOAP methods selected during configuration of the SOAP connection. You can configure as many SOAP activities as you like for each SOAP connection.
Whether the activity can be used as a source or a target in an operation depends on the specific web service and the request and response structures, if present. For more information about what determines if an activity can be used as a source or target, see Parts of an Operation in Operation Creation and Configuration.
Create a SOAP Activity¶
An instance of an activity is created from a connection using an activity type.
To create an instance of an activity, drag the activity type to the design canvas or copy the activity type and paste it on the design canvas. For details, see Creating an Activity Instance in Component Reuse.
An existing activity can be edited from these locations:
- The design canvas (see Component Actions Menu in Design Canvas).
- The project pane's Components tab (see Component Actions Menu in Project Pane Components Tab).
Configure a SOAP Activity¶
Follow these steps to configure a SOAP activity:
Step 1: Enter a Name¶
- Name: Enter a name to use to identify the SOAP activity. This field is prepopulated with the name of the method. You can create multiple activities using the same method, but the name must be unique for each SOAP activity and must not contain forward slashes (
/) or colons (
- Save & Exit: If enabled, click to save the configuration for this step and close the activity configuration.
- Next: Click to temporarily store the configuration for this step and continue to the next step. The configuration will not be saved until you click the Finished button on the last step.
- Discard Changes: After making changes, click to close the configuration without saving changes made to any step. A message asks you to confirm that you want to discard changes.
Step 2: Review the Data Schemas¶
Data Schema: The request and/or response data schemas are displayed. If the operation uses a transformation, the data schemas are displayed again later during the transformation mapping process, where you can map to target fields using source objects, scripts, variables, custom values, and more.
Add Plugin(s): Plugins are Jitterbit- or user-provided applications that extend Harmony's native capabilities. To apply a plugin to the activity, click to expand this section and select the checkbox next to the plugin to be used. For additional instructions on using plugins, including details on setting any required variables used by the plugin, see Plugins Added to an Activity.
Back: Click to temporarily store the configuration for this step and return to the previous step.
Finished: Click to save the configuration for all steps and close the activity configuration.
Discard Changes: After making changes, click to close the configuration without saving changes made to any step. A message asks you to confirm that you want to discard changes.
After configuring a SOAP activity, you can use it within an operation as described below. You may also want to configure chunking to split the data into smaller chunks for processing. A special use case on how to handle SOAP services that do not require request parameters is also covered below.
Completing the Operation¶
After configuring a SOAP activity, complete the configuration of the operation by adding and configuring other activities, transformations, or scripts as operation steps. You can also configure an operation's operation settings, which include the ability to chain operations together that are in the same or different workflows.
Once a SOAP activity has been created, menu actions for that activity are accessible from the project pane in either the Workflows or the Components tabs, and from the design canvas. See Activity Actions Menu for details.
Operations that use SOAP activities can also have operation actions configured to trigger on a SOAP fault — an error resulting from an incorrect message format, header processing, or incompatibility. Operation actions can be configured to run an operation or send an email after a SOAP fault occurs. For instructions on triggering an action on SOAP fault, refer to Operation Actions.
Operations that contain a SOAP activity can have only one SOAP activity and cannot also contain any NetSuite, Salesforce, Salesforce Service Cloud, SAP, or ServiceMax activities.
When ready, deploy and run the operation and validate behavior by checking the operation logs.
Used as a Source¶
SOAP activities that are used as a source can be used with these operation patterns:
- Transformation Pattern
- Two-target Archive Pattern (as either the first or second source)
- Two-target HTTP Archive Pattern (as the first source only)
- Two-transformation Pattern (as either the first or second source)
Other patterns are not valid using SOAP activities that are used as a source.
Used as a Target¶
SOAP activities that are used as a target can be used with these operation patterns:
- Transformation Pattern
- Two-target Archive Pattern (as the first target only)
- Two-transformation Pattern (as either the first or second target)
Other patterns are not valid using SOAP activities that are used as a target.
Typically, an operation that calls a SOAP web service contains two transformations: The first transforms data into a web service request, and the second transforms data from a web service response to a target system. This example uses a SOAP activity in the Two-transformation Pattern. In this operation, an API Request activity (Request) creates a request structure that is received by the first transformation (API to SOAP) and passed to a SOAP activity (Verify Credit Card). The second transformation (SOAP to File Share) receives the response structure, which is then written to a file share by a File Share Write activity (Write Response):
Many web service APIs have size limitations. If you are running into record limits imposed by the API, you may want to use chunking to split the source data into multiple chunks. The transformation is then performed on each chunk separately, with each source chunk producing one target chunk. The resulting target chunks combine to produce the final target.
For instructions and best practices on using chunking, see Operation Options.
Using a SOAP Service without Request Parameters¶
SOAP web services are commonly used as the first target in the Two-Target Transformation Pattern: A source provides the request that the SOAP web service takes as input, and the service then outputs a response that is written to another target.
But some SOAP web services might not require anything to be provided in the request beyond just asking for the service. In this case, two transformations are still required by the pattern, but the request structure may not have any fields that require mapping; instead, the structure may consist of only nodes without fields.
This operation uses the
GetHolidaysAvailable method (in the Get Holidays SOAP activity), which does not require request parameters:
Within the transformation FTP to SOAP, we can see that all nodes are expanded and there are no fields present:
The result is an empty transformation without any mappings, which is required in order for the operation to be valid.