This recipe focuses on the interaction between Orchestrator and a SOAP-based server. We will learn how to add a SOAP host to Orchestrator and execute SOAP operations.
We need a host that can present SOAP operations for Orchestrator to use. If you don't have a SOAP host that you can access, you can follow our example.
Orchestrator's SOAP API has been retired and is not available anymore.
To add a SOAP-based service to the Orchestrator host, we need its WSDL address.
For our example, we will use http://www.webservicex.net to test our SOAP plugin. The WSDL we will use is http://www.webservicex.net/globalweather.asmx?WSDL .
Again, this recipe is split into different parts.
Before we can execute any SOAP operations, we need to add the SOAP interface of a host to Orchestrator:
Now we have access to all SOAP operations that are exposed:
We will now test out a SOAP request:
GetCitiesByCountry
.parameter1
with a state, such as Germany
.
To invoke a SOAP operation, we will create a new workflow:
GetWeather
. Click on Next.SOAP (Simple Object Access Protocol) is a common way to access automation or scripting services via a network. A SOAP service advertises what scripts can be run on the SOAP host and what variables are needed to run it on its WSDL interface.
We used the Digest authentication, which provides an encrypted authentication. The other authentication types are basic (no encryption) and NTLM. NTLM (NT LAN Manager) provides encryption using the Window Security Support Provider (SSPI) framework. If you want to use NTLM, the SOAP host you're connecting to must be able to understand and use it (this is not the case with Orchestrator). Additionally, you also need to provide additional information in the configuration workflow. You need to specify the NTLM domain and, additionally, maybe a NTLM workstation.
If your Orchestrator is SSO-configured, we have to use shared sessions, as we already discussed in the Working with PowerShell recipe.
A typical SOAP-Orchestrator integration is with Microsoft SCOM or SCVMM.
Most generated workflows require a bit of aftercare. A typical example is that a password is handled as a string
not a SecureString
. Refer to the How it works... section in the Working with PowerShell recipe.
A full workout of this can be found in http://blogs.vmware.com/orchestrator/2011/06/example-of-high-level-workflow-with-the-soap-plug-in.html .