Hi Tom,
I'm actually having a similar problem too. In my case, I'm not using a SOAP operator. PAM SOAP operators fail on http 202 responses (have a case opened for that). In the meantime, I'm using an HTTP Post operator as a workaround and building the SOAP request in the pre-exec code (code below).
My problem stems from the fact that I can't concatenate or work with PAM Password types.I'm trying to find a way to keep the password "hidden" but use it in a SOAP request. Any ideas?
// SOAP Template
var soapBody = '<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:par="http://schemas.hp.com/ucmdb/discovery/1/params" xmlns:typ="http://schemas.hp.com/ucmdb/1/types">'
+ "\n" + '<soap:Header/>'
+ "\n" + '<soap:Body>'
+ "\n" +
'<par:updateCredentialsEntryRequest>'
+ "\n" +
'<par:domainName>__DOMAIN__</par:domainName>'
+ "\n" +
'<par:protocolName>wmiprotocol</par:protocolName>'
+ "\n" +
'<par:credentialsEntryID>__CREDENTIAL_ID__</par:credentialsEntryID>'
+ "\n" +
'<par:credentialsEntryParameters>'
+ "\n" +
'<typ:intProps>'
+ "\n" +
'<typ:intProp>'
+ "\n" +
'<typ:name>protocol_index</typ:name>'
+ "\n" +
'<typ:value>__PROTOCOL_INDEX__</typ:value>'
+ "\n" +
'</typ:intProp>'
+ "\n" +
'</typ:intProps>'
+ "\n" +
'<typ:strProps>'
+ "\n" +
'<typ:strProp>'
+ "\n" +
'<typ:name>user_label</typ:name>'
+ "\n" +
'<typ:value>__USER_LABEL__</typ:value>'
+ "\n" +
'</typ:strProp>'
+ "\n" +
'<typ:strProp>'
+ "\n" +
'<typ:name>protocol_timeout</typ:name>'
+ "\n" +
'<typ:value>__PROTOCOL_TIMEOUT__</typ:value>'
+ "\n" +
'</typ:strProp>'
+ "\n" +
'<typ:strProp>'
+ "\n" +
'<typ:name>protocol_netaddress</typ:name>'
+ "\n" +
'<typ:value>__PROTOCOL_NETADDRESS__</typ:value>'
+ "\n" +
'</typ:strProp>'
+ "\n" +
'<typ:strProp>'
+ "\n" +
'<typ:name>protocol_username</typ:name>'
+ "\n" +
'<typ:value>__PROTOCOL_USERNAME__</typ:value>'
+ "\n" +
'</typ:strProp>'
+ "\n" +
'<typ:strProp>'
+ "\n" +
'<typ:name>protocol_password</typ:name>'
+ "\n" +
'<typ:value>__PROTOCOL_PASSWORD__</typ:value>'
+ "\n" +
'</typ:strProp>'
+ "\n" +
'<typ:strProp>'
+ "\n" +
'<typ:name>wmiprotocol_wmidomain</typ:name>'
+ "\n" +
'<typ:value>__WMIPROTOCOL_WMIDOMAIN__</typ:value>'
+ "\n" +
'</typ:strProp>'
+ "\n" +
'</typ:strProps>'
+ "\n" +
'</par:credentialsEntryParameters>
'
+ "\n" +
'<par:CmdbContext>'
+ "\n" +
'<typ:callerApplication>CA Process Automation</typ:callerApplication>'
+ "\n" +
'</par:CmdbContext>'
+ "\n" +
'</par:updateCredentialsEntryRequest>'
+ "\n" + '</soap:Body>'
+ "\n" + '</soap:Envelope>'
// Replace Macros in template with values input by user
soapBody = soapBody.replace( /__DOMAIN__/g, Operator.TargetCredential__.DomainName__ );
soapBody = soapBody.replace( /__CREDENTIAL_ID__/g, Operator.TargetCredential__.CredentialID__ );
soapBody = soapBody.replace( /__PROTOCOL_INDEX__/g, Operator.UpdateCredentialEntry__.ProtocolIndex__ );
soapBody = soapBody.replace( /__USER_LABEL__/g, Operator.UpdateCredentialEntry__.UserLabel__ );
soapBody = soapBody.replace( /__PROTOCOL_TIMEOUT__/g, Operator.UpdateCredentialEntry__.ProtocolTimeout__ );
soapBody = soapBody.replace( /__PROTOCOL_NETADDRESS__/g, Operator.UpdateCredentialEntry__.ProtocolNetAddress__ );
soapBody = soapBody.replace( /__PROTOCOL_USERNAME__/g, Operator.UpdateCredentialEntry__.ProtocolUsername__ );
soapBody = soapBody.replace( /__PROTOCOL_PASSWORD__/g, Operator.UpdateCredentialEntry__.ProtocolPassword__ );
soapBody = soapBody.replace( /__WMIPROTOCOL_WMIDOMAIN__/g, Operator.UpdateCredentialEntry__.WMIProtocolWMIDomain__ );
// Assign SOAP Body to operator variable so it can be referenced
Process[OpName].SOAPBody = soapBody;