Announcing the Saviynt Knowledge Exchange unifying the Saviynt forums, documentation, training,
and more in a single search tool across platforms. Read the announcement here.

RaaS Import with Ultipro giving 415 error

jralexander137
New Contributor III
New Contributor III

Hi, I am getting a 415 response when using an updating SOAP RAAS user import config from the ultipro saviynt docs. The content-type value looks to be correct based on UKG RAAS documentation. Any suggestions would be appreciated:

 

{
  "CONNECTION1": "Logon",
  "REQUESTXML1": "<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:ns=\"http://rental2.ultipro.com/dataservices/bidata/2\"> <soap:Header xmlns:wsa=\"http://www.w3.org/2005/08/addressing\"><wsa:Action>http://rental2.ultipro.com/dataservices/bidata/2/IBIDataService/LogOn</wsa:Action></soap:Header> <soap:Body> <ns:LogOn> <ns:logOnRequest> <ns:UserName>${USERNAME}</ns:UserName> <ns:Password>${PASSWORD}</ns:Password> <ns:ClientAccessKey>UNO2S</ns:ClientAccessKey> <ns:UserAccessKey>F5TJ6E000RV0</ns:UserAccessKey> </ns:logOnRequest> </ns:LogOn> </soap:Body> </soap:Envelope>",
  "REQUESTPARAMS1": {
    "Content-Type": "application/soap+xml;charset=utf-8"
  },
  "RESPONSEDATAPATH1": "Body.LogOnResponse.LogOnResult",
  "RESPONSEMAPPING1": {
    "SERVICEID": "ServiceId",
    "CLIENTACCESSKEY": "ClientAccessKey",
    "TOKEN": "Token",
    "INSTANCEKEY": "InstanceKey"
  },
  "CONNECTION2": "Logon",
  "REQUESTXML2": "<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:ns=\"http://rental2.ultipro.com/dataservices/bidata/2\"> <soap:Header xmlns:wsa=\"http://www.w3.org/2005/08/addressing\"><wsa:Action>http://rental2.ultipro.com/dataservices/bidata/2/IBIDataService/ExecuteReport</wsa:Action></soap:Header> <soap:Body> <ns:ExecuteReport> <ns:request> <ns:ReportPath>/content/folder[@name='zzzCompany Folders']/folder[@name='Cache Creek Casino Resort']/folder[@name='UltiPro']/folder[@name='Customs']/report[@name='Test'] </ns:ReportPath> <ns:ReportParameters> <ns:ReportParameter> <ns:Name>Test</ns:Name> </ns:ReportParameter> </ns:ReportParameters> </ns:request> <ns:context> <ns:ServiceId>${SERVICEID} </ns:ServiceId> <ns:ClientAccessKey>${CLIENTACCESSKEY}</ns:ClientAccessKey> <ns:Token>${TOKEN}</ns:Token> <ns:InstanceKey>${INSTANCEKEY}</ns:InstanceKey> </ns:context> </ns:ExecuteReport> </soap:Body> </soap:Envelope>",
  "REQUESTPARAMS2": {
    "Content-Type": "application/soap+xml;charset=utf-8"
  },
  "RESPONSEDATAPATH2": "Body.ExecuteReportResponse.ExecuteReportResult",
  "RESPONSEMAPPING2": {
    "REPORTKEY": "ReportKey"
  },
  "CONNECTION3": "Report",
  "REQUESTXML3": "<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:ns=\"http://rental2.ultipro.com/dataservices/bistream/2\"> <soap:Header xmlns:wsa=\"http://www.w3.org/2005/08/addressing\"> <ns:ReportKey>${REPORTKEY}</ns:ReportKey> <wsa:Action>http://rental2.ultipro.com/dataservices/bistream/2/IBIStreamService/RetrieveReport</wsa:Action></soap:Header> <soap:Body> <ns:RetrieveReportRequest></ns:RetrieveReportRequest> </soap:Body> </soap:Envelope>",
  "REQUESTPARAMS3": {
    "Content-Type": "application/soap+xml;charset=utf-8"
  },
  "RESPONSEDATAPATH3": "Body.StreamReportResponse.ReportStream.DECODEBASE64.data.row",
  "USERMAPPING3": "COMPANYNAME:value(0),LOCATION:value(1),DEPARTMENTNAME:value(2),CUSTOMPROPERTY2:value(3), CUSTOMPROPERTY3:value(4),USERNAME:value(5),FIRSTNAME:value(6),LASTNAME:value(7),PREFEREDFIRSTNAME:value(8),CUSTOMPROPERTY1:value(9),TITLE:value(10),CUSTOMPROPERTY5:value(11), CUSTOMPROPERTY13:value(12),ENDDATE:value(13),OWNER:value(14),STARTDATE:value(15),CUSTOMPROPERTY6:value(16)",
  "TEMPMAPPING3": [
    "EMPLOYEETYPE='EMPLOYEE' WHERE EMPLOYEETYPE IS NULL",
    "STATUSKEY='1' Where customproperty1 in ('Active', 'Leave of Absence')",
    "STATUSKEY='0' Where customproperty1 in ('Terminated')"
  ],
  "CONNECTION4": "Logon",
  "REQUESTXML4": "<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:ns=\"http://rental2.ultipro.com/dataservices/bidata/2\"> <soap:Header xmlns:wsa=\"http://www.w3.org/2005/08/addressing\"><wsa:Action>http://rental2.ultipro.com/dataservices/bidata/2/IBIDataService/LogOff</wsa:Action></soap:Header> <soap:Body> <ns:LogOff> <ns:context> <ns:ServiceId>${SERVICEID}</ns:ServiceId> <ns:ClientAccessKey>${CLIENTACCESSKEY}</ns:ClientAccessKey> <ns:InstanceKey>${INSTANCEKEY}</ns:InstanceKey> </ns:context> </ns:LogOff> </soap:Body> </soap:Envelope>",
  "REQUESTPARAMS4": {
    "Content-Type": "application/soap+xml;charset=utf-8"
  },
  "RESPONSEDATAPATH4": "Body.LogOffResponse.LogOffResult",
  "RESPONSEMAPPING4": {
    "STATUS": "Status"
  }
}

And here are the log snips:

"2024-03-21T12:53:07.615+00:00","ecm-worker","provisoning.SoapProvisioningService","quartzScheduler_Worker-9-h5mr9","ERROR","Error while calling webservice https://rental2.ultipro.com/services/BIDataService: "
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9","","AxisFault"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," faultCode: {http://xml.apache.org/axis/}HTTP"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," faultSubcode: "
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," faultString: (415)Unsupported Media Type"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," faultActor: "
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," faultNode: "
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," faultDetail: "
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," {}:return code: 415"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9","",""
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," {http://xml.apache.org/axis/}HttpErrorCode:415"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9","",""
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9","","(415)Unsupported Media Type"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744)"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at org.apache.axis.client.Call.invokeEngine(Call.java:2784)"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at org.apache.axis.client.Call.invoke(Call.java:2767)"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at org.apache.axis.client.Call.invoke(Call.java:1910)"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at com.saviynt.provisoning.SoapProvisioningService.callSOAPWebService(SoapProvisioningService.groovy:554)"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at com.saviynt.ecm.services.HttpClientUtilityService.executeRequestWithTimeoutConfig(HttpClientUtilityService.groovy:614)"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at com.saviynt.provisoning.SoapProvisioningService.callSOAPWebService(SoapProvisioningService.groovy:642)"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at com.saviynt.provisoning.SoapProvisioningService.processSingleRequest(SoapProvisioningService.groovy:1272)"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at com.saviynt.provisoning.SoapProvisioningService.importXMLData(SoapProvisioningService.groovy:977)"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at com.saviynt.provisoning.SoapProvisioningService.doImport(SoapProvisioningService.groovy:134)"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at com.saviynt.provisoning.SoapProvisioningService.doUserImport(SoapProvisioningService.groovy:81)"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at com.saviynt.ecm.integration.ExternalConnectionCallService.importUserUsingExternalConnection(ExternalConnectionCallService.groovy:1108)"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at UserImportJob.execute(UserImportJob.groovy:108)"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at org.quartz.core.JobRunShell.run(JobRunShell.java:199)"
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9",""," at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)"
"2024-03-21T12:53:07.616+00:00","ecm-worker","services.HttpClientUtilityService","quartzScheduler_Worker-9-h5mr9","DEBUG","Exception in executeRequestWithTimeoutConfig:: "
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9","","java.lang.Exception: Error while calling webservice https://rental2.ultipro.com/services/BIDataService : (415)Unsupported Media Type at com.saviynt.provisoning.SoapProvisioningService.callSOAPWebService(SoapProvisioningService.groovy:598) at com.saviynt.ecm.services.HttpClientUtilityService.executeRequestWithTimeoutConfig(HttpClientUtilityService.groovy:614) at com.saviynt.provisoning.SoapProvisioningService.callSOAPWebService(SoapProvisioningService.groovy:642) at com.saviynt.provisoning.SoapProvisioningService.processSingleRequest(SoapProvisioningService.groovy:1272) at com.saviynt.provisoning.SoapProvisioningService.importXMLData(SoapProvisioningService.groovy:977) at com.saviynt.provisoning.SoapProvisioningService.doImport(SoapProvisioningService.groovy:134) at com.saviynt.provisoning.SoapProvisioningService.doUserImport(SoapProvisioningService.groovy:81) at com.saviynt.ecm.integration.ExternalConnectionCallService.importUserUsingExternalConnection(ExternalConnectionCallService.groovy:1108) at UserImportJob.execute(UserImportJob.groovy:108) at org.quartz.core.JobRunShell.run(JobRunShell.java:199) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)"
"2024-03-21T12:53:07.616+00:00","ecm-worker","services.HttpClientUtilityService","quartzScheduler_Worker-9-h5mr9","DEBUG","got response for api..."
"2024-03-21T12:53:07.616+00:00","ecm-worker","provisoning.SoapProvisioningService","quartzScheduler_Worker-9-h5mr9","DEBUG","Error - Failed to Connect to or Import Data : "
"2024-03-21T12:53:08.533+00:00","ecm-worker","","null-h5mr9","","java.lang.Exception: java.lang.Exception: Error while calling webservice https://rental2.ultipro.com/services/BIDataService : (415)Unsupported Media Type at com.saviynt.provisoning.SoapProvisioningService.processSingleRequest(SoapProvisioningService.groovy:1286) at com.saviynt.provisoning.SoapProvisioningService.importXMLData(SoapProvisioningService.groovy:977) at com.saviynt.provisoning.SoapProvisioningService.doImport(SoapProvisioningService.groovy:134) at com.saviynt.provisoning.SoapProvisioningService.doUserImport(SoapProvisioningService.groovy:81) at com.saviynt.ecm.integration.ExternalConnectionCallService.importUserUsingExternalConnection(ExternalConnectionCallService.groovy:1108) at UserImportJob.execute(UserImportJob.groovy:108) at org.quartz.core.JobRunShell.run(JobRunShell.java:199) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)Caused by: java.lang.Exception: Error while calling webservice https://rental2.ultipro.com/services/BIDataService : (415)Unsupported Media Type at com.saviynt.provisoning.SoapProvisioningService.callSOAPWebService(SoapProvisioningService.groovy:657) at com.saviynt.provisoning.SoapProvisioningService.processSingleRequest(SoapProvisioningService.groovy:1272) ... 7 more"

3 REPLIES 3

rushikeshvartak
All-Star
All-Star

Is it working from postman / SOAP UI


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

I was able to resolve that issue by changing the soap type from SOAP to XML. However, now I am getting a 500 error back from UKG:

"2024-03-22T16:32:26.954+00:00","ecm-worker","rest.RestUtilService","quartzScheduler_Worker-8-h5mr9","DEBUG","Got null response statusCode with erroMsg - [responseText:Error while calling webservice https://rental2.ultipro.com/services/BIDataService: Response Code: 500, Response Message: Internal Server Error, Error Message: <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing"><s:Header><a:Action s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/fault</a:Action></s:Header><s:Body><s:Fault><s:Code><s:Value>s:Sender</s:Value><s:Subcode><s:Value>a:ActionNotSupported</s:Value></s:Subcode></s:Code><s:Reason><s:Text xml:lang="en-US">The message with Action 'http://rental2.ultipro.com/dataservices/bidata/2/IBIDataService/LogOn' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).</s:Text></s:Reason></s:Fault></s:Body></s:Envelope>]"
"2024-03-22T16:32:26.954+00:00","ecm-worker","provisoning.SoapProvisioningService","quartzScheduler_Worker-8-h5mr9","DEBUG","Error - Failed to Connect to or Import Data : "

Any idea what that error means?

  1. Contract Mismatch: The actions specified in the SOAP message might not match the expected actions on the UKG service side.

  2. Binding/Security Mismatch: There could be a mismatch in the binding or security requirements between the sender and receiver. This includes differences in message, transport, or security settings.


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.