{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":4373,"path":"build-workflows/workflow-studio/soap-step-action-designer.md","title":"SOAP step","bundle":null,"doc_type":null,"release":"australia","body":"\n# SOAP step\n\nEnable action designers to send outbound SOAP web service requests to external systems.\n\n**Note:** SOAP step is not available in the base system and requires the ServiceNow® Integration Hub subscription. After the required plugin is activated, the step is visible under Integrations.\n\n## Roles and availability\n\n-   Available as an Workflow Studio action step. Users with the action\\_designer role can create a custom action with one or more action steps.\n-   Action designers need the web\\_service\\_admin role to perform these web services tasks.\n    -   Select WSDL\n    -   Load new WSDL\n    -   Select a WS-Security policy\n\n## Fields\n\n<table id=\"table_ndq_3kp_2fb\"><thead><tr><th>\n\nField\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td colspan=\"2\">\n\nConnection Details\n\n</td></tr><tr><td>\n\nConnection\n\n</td><td>\n\nThe type of connection to use. -   **Define Connection Inline**: Define connection information within the action step.\n-   **Use Connection Alias**: Define connection information using the Connection Alias table. Using an alias eliminates the need to configure multiple credentials and connection information profiles when using an action in multiple environments. Likewise, if the connection information changes, you don't need to update your custom action.\n\n To learn more about connections and credentials, see [Introduction to credentials, connections, and aliases](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-security/credentials-connections-alias.md).\n\n</td></tr><tr><td>\n\nConnection Alias\n\n</td><td>\n\nConnection &amp; Credential alias record that the system uses to run the action step. Users with the flow\\_designer or admin role can create or select an associated Connection record. Using an alias eliminates the need to configure multiple credentials and connection information profiles when using an action in multiple environments. Likewise, if the connection information changes, you don't need to update your custom action. To learn more about connections and credentials, see [credentials, connections, and aliases](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-security/credentials-connections-alias.md). The credential value is displayed as a Password \\(2 Way Encrypted\\) data pill on the data panel. **Note:** This field is available when **Use Connection Alias** is selected from the Connection list.\n\n</td></tr><tr><td>\n\nCredential Alias\n\n</td><td>\n\nCredential alias that the system uses to run the action step. Users with the flow\\_designer or admin role can create or select an associated Connection record. Using an alias eliminates the need to configure multiple credentials when using an action in multiple environments. Likewise, if the credential information changes, you don't need to update your custom action. To learn more about connections and credentials, see [credentials, connections, and aliases](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/platform-security/credentials-connections-alias.md). The credential value is displayed as a Password \\(2 Way Encrypted\\) data pill on the data panel. **Note:** This field is available when **Define Connection Inline** is selected from the Connection list.\n\n</td></tr><tr><td>\n\nUse MID\n\n</td><td>\n\nOption to use a MID Server to run the SOAP step. Select this check box to display the **MID Selection**,**MID Application**, and **Capabilities** fields.**Note:** This field is available when **Use Connection Alias** is selected from the Connection list.\n\n</td></tr><tr><td>\n\nEndpoint\n\n</td><td>\n\nThe URL endpoint for the SOAP request. If **Use Connection Alias** is selected, this field is read-only and displays the endpoint URL associated with alias. If **Define Connection Inline** is selected, enter an endpoint URL for the connection.\n\n</td></tr><tr><td>\n\nTest SOAP Step\n\n</td><td>\n\nButton to test the SOAP step. To test, select the **Test SOAP Step** button. Enter any required input values and select the **Run Test** button. After the test runs, any step outputs or error messages are displayed in the Test Results section of the test window.\n\n</td></tr><tr><td>\n\nConnection Timeout\n\n</td><td>\n\nNumber of milliseconds the system waits for a successful host connection. If the step does not make a successful connection during this time, the connection request times out. If **Define Connection Inline** is selected, enter a timeout value for the connection. Leave this field empty to use the system default connection timeout value.\n\n**Note:** Avoid setting the **Connection Timeout** value to zero, as this may cause a stale connection.\n\n</td></tr><tr><td>\n\nMID Selection\n\n</td><td>\n\nOption to select a specific MID Server or MID Cluster. Choose any one of the following options. -   **Auto-Select MID Server**: Your ServiceNow instance selects the MID Server without manual input.\n-   **Specific MID Server**: Your ServiceNow instance uses MID Server that you specify.\n-   **Specific MID Cluster**: Your ServiceNow instance uses the MID Cluster that you specify.\n\nA MID Cluster is a group of MID Servers that enables your ServiceNow instance to handle multiple integrations, and improve integration speed. For more information, see [Configure a MID Server cluster](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/servicenow-platform/t_ConfigureAMIDServerCluster.md).\n\n\n This field is available when **Define Connection Inline** is selected from the Connection list, and **Use MID** is checked.\n\n</td></tr><tr><td>\n\nMID Cluster\n\n</td><td>\n\nData pill for the MID Cluster you want to use. This field is available when **Define Connection Inline** is selected from the Connection list, **Use MID** is checked, and **Specific MID Cluster** is selected from the MID Selection list.\n\n</td></tr><tr><td class=\"sub-head\" colspan=\"2\">\n\nRequest Details\n\n</td></tr><tr><td>\n\nBuild Envelope\n\n</td><td>\n\nThe method to use when building the SOAP envelope. -   **From WSDL**: Select this option to display the **Select a WSDL** and **Operation** fields.\n-   **Manually**: Select this option to manually enter or paste WSDL text.\n\n</td></tr><tr><td>\n\nSelect a WSDL\n\n</td><td>\n\nThe WSDL to use to build the SOAP envelope. Select an existing WSDL record or click **Load New WSDL** to download or manually enter a WSDL file. The selected WSDL populates the values of the **Operation**, **SOAP action**, and **SOAP Envelope** fields.**Note:** This field is available when you select **From WSDL** from the Build Envelope list.\n\n</td></tr><tr><td>\n\nLoad New WSDL\n\n</td><td>\n\nOption to download or manually enter a WSDL file.\n\n</td></tr><tr><td>\n\nOperation\n\n</td><td>\n\nThe operation to run from the selected WSDL. Each WSDL has its own list of available operations.\n\n</td></tr><tr><td>\n\nSOAP Action\n\n</td><td>\n\nThe URL to run the SOAP action. If **Build Envelope** is set to **From WSDL**, this field is read-only and displays the URL to run SOAP action. If **Build Envelope** is set to **Manually**, enter a URL to run the SOAP action.\n\n</td></tr><tr><td>\n\nRequest Type\n\n</td><td>\n\nFormat of the request. Options include.-   **Text**: A request in JSON, XML, or other text format.\n-   **Binary**: A request in a binary file format.\n\n</td></tr><tr><td>\n\nSOAP Envelope\n\n</td><td>\n\nThe XML text sent to the endpoint. If **Build Envelope** is set to **From WSDL**, the system adds the necessary XML for the **Operation** that you select. If **Build Envelope** is set to **Manually**, enter the XML text that you want to use. Enter record values in the appropriate SOAP envelope elements. For example, enter an incident short description in the `<short_description>` element.**Note:** This field is available when the **Request Type** is **Text**.\n\n</td></tr><tr><td>\n\nAttachment\n\n</td><td>\n\nAttachment record that contains the request. You can look up or create this record in a prior step and define it as an input variable. Create it by using the [JSONStreamingBuilder](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/api-reference/server-api-reference/JSONStreamingBuilderScopedAPI.md) and [XMLStreamingBuilder](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/api-reference/server-api-reference/XMLStreamingBuilderScopedAPI.md) APIs in the Script step. **Note:** This field is available when the **Request Type** is **Binary**.\n\n</td></tr><tr><td>\n\nReset Envelope\n\n</td><td>\n\nOption to discard all manual changes that you made to the SOAP envelope. Select this check box to revert the SOAP envelope to its original state.**Note:** This field is available when you select **From WSDL** from the Build Envelope list.\n\n</td></tr><tr><td class=\"sub-head\" colspan=\"2\">\n\nNew WSDL\n\n</td></tr><tr><td>\n\nName\n\n</td><td>\n\nThe name of the WSDL record you want to create.\n\n</td></tr><tr><td>\n\nImport Method\n\n</td><td>\n\nThe method to enter WSDL.-   **Download from URL**: Select to display the **WSDL URL**, **User name**, and **Password** fields to retrieve the WSDL from an external source, typically the web service provider.\n-   **Manually Populate WSDL Content**: Select to display the **WSDL Content** field to manually enter or paste WSDL text.\n\n</td></tr><tr><td>\n\nWSDL URL\n\n</td><td>\n\nThe URL to the SOAP web service.**Note:** This field is available when you select **Download from URL** from the Import Method list.\n\n</td></tr><tr><td>\n\nUser name\n\n</td><td>\n\nThe user name to authenticate with the SOAP web service.**Note:** This field is available when you select **Download from URL** from the Import Method list.\n\n</td></tr><tr><td>\n\nPassword\n\n</td><td>\n\nThe password to authenticate with the SOAP web service. The system always masks passwords in the user interface and prevents exporting them as plain text.**Note:** This field is available when you select **Download from URL** from the Import Method list.\n\n</td></tr><tr><td>\n\nWSDL Content\n\n</td><td>\n\nThe XML document describing the SOAP web service and its operations.**Note:** This field is available when you select **Manually Populate WSDL Content** from the Import Method list.\n\n</td></tr><tr><td>\n\nImport\n\n</td><td>\n\nOption to add the SOAP web service WSDL to the instance.\n\n</td></tr><tr><td class=\"sub-head\" colspan=\"2\">\n\nWS-Security\n\n</td></tr><tr><td>\n\nEnable WS-Security Policy\n\n</td><td>\n\nOption to restrict the SOAP web service to a security policy. Select this check box to display the **Policy** field.\n\n</td></tr><tr><td>\n\nPolicy\n\n</td><td>\n\nThe policy record that you want to use to restrict web service connections. Select an existing policy record.\n\n</td></tr><tr><td colspan=\"2\">\n\nRetry Policy\n\n</td></tr><tr><td>\n\nEnable Retry Policy\n\n</td><td>\n\nOption to enable the retry policy. For more information, see [Retry policy](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/build-workflows/workflow-studio/retry-policy.md).\n\n</td></tr><tr><td>\n\nOverride Default Policy for Alias\n\n</td><td>\n\nOption to override the default retry policy. This check box is not applicable when **Define Connection Inline** is selected from the Connection list.\n\n</td></tr><tr><td>\n\nRetry Policy\n\n</td><td>\n\nDefault retry policy associated with **Connection Alias**. If **Override Default Policy for Alias** is selected, you can override the default retry policy and select another existing retry policy based on your requirement.\n\n</td></tr><tr class=\"sub-head\"><td class=\"sub-head\" colspan=\"2\">\n\nAdvanced Options\n\n</td></tr><tr><td>\n\nHeaders\n\n</td><td>\n\nThe name-value pairs to include in the SOAP message as HTTP headers. Use the plus icon to add headers. Add a **Name** and **Value** for each HTTP header.\n\n</td></tr><tr><td>\n\n**Headers** &gt; **Omit if empty**\n\n</td><td>\n\nOption to exclude a header if the value is empty or null.**Note:** This check box is available after clicking the down arrow to display the advanced options.\n\n</td></tr></tbody>\n</table>## Action error evaluation\n\n-   **If this step fails**\n\n    Data type: **Choice**\n\n    Option to continue running the next step or go to error evaluation. To use the step status code or message for a custom action error condition, see [Action error evaluation](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/build-workflows/workflow-studio/action-error-evaluation.md).\n\n\n## SOAP response size limit\n\nThe system limits the size of SOAP responses to 5 MB. Direct SOAP responses that exceed this limit generate an error. To support larger response sizes, increase the response size limit with the **glide.pf.soap.response\\_payload\\_max\\_size** system property. This system property supports a maximum value of 10 MB.\n\n**Parent Topic:**[Workflow Studio steps](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/build-workflows/workflow-studio/steps.md)\n\n"}}