Hi! On 8.0. I am trying to make a couple adhoc soap calls from within a rule. When I send the payload the endpoint says it does not detect the soapaction. I am leveraging the WebServicesClient library but I can’t find any documentation on it specifically. The soap action is “assignJobDescriptionToUser” below. Do I need to maybe pass the soapaction separately to the webservicesclient as well?
import java.util.*;
//import javax.xml.soap.*;
import connector.common.JsonUtil;
import sailpoint.connector.webservices.WebServicesClient;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
Log log = LogFactory.getLog("hss.generic");
WebServicesClient client = new WebServicesClient();
Map args = new HashMap();
String URL = "https://global.hgncloud.com/uat_hfss/services/EPM";
args.put(WebServicesClient.ARG_URL, URL);
client.configure(args);
List allowedStatuses = new ArrayList();
allowedStatuses.add("2**");
Map header = new HashMap();
header.put("Content-Type","text/xml; charset=utf-8");
String payload = new StringBuilder()
.append("<soapenv:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" ")
.append("xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:EPM\">\n")
.append(" <soapenv:Header/>\n")
.append(" <soapenv:Body>\n")
.append(" <urn:assignJobDescriptionToUser soapenv:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">\n")
.append(" <credentials xsi:type=\"urn:AuthenticationCredentials\">\n")
.append(" <password xsi:type=\"xsd:string\">Hss123456</password>\n")
.append(" <username xsi:type=\"xsd:string\">IAMSAILPOINT</username>\n")
.append(" </credentials>\n")
.append(" <username xsi:type=\"xsd:string\">208381</username>\n")
.append(" <jobDescriptionCode xsi:type=\"xsd:string\">47054-7468</jobDescriptionCode>\n")
.append(" </urn:assignJobDescriptionToUser>\n")
.append(" </soapenv:Body>\n")
.append("</soapenv:Envelope>\n")
.toString();
log.debug("payload = " + payload);
String response = client.executePost(URL, payload, header, allowedStatuses, false, null);
//log.debug("response = " + response);
And the response from the endpoint is:
<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:Client.NoSOAPAction</faultcode>
<faultstring>Error ID: uat_hfss@1723481726234132482</faultstring>
<detail/>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>