I think you can try with Queue-For-Agent utility and pass the agent name, ruleset. From the agent activity call your data page with SOAP connection. Call resume flow once the data is returned from the external service.
Pega 7 provides several tools for handling data source errors. A good place to start is the data transform pxErrorHandlingTemplate. This data transform has sample actions that you can use for common data source error-handling tasks, including:
Read page messages on the data page
Clear page messages from the data page so it does not stop work processing
Throw an invocation error by adding page messages so case processes pick it up (remember to catch and handle it in your case layer
Output messages to the system log
Send an email to a system administrator or other stakeholder
You can either copy the logic from the template into your response data transform or save the template to your class and ruleset to create your own error handling transform that can be reused across sources. All rows start in a disabled state, so remember to right-click and enable actions that you want to use and customize.
You can also pull in data from a different data page instead of using the normal DataSource page when it has errors. Examples of this include:
Referencing another data page to pull data from an alternative data source
Referencing another data page with the same data source to use for retry