and more in a single search tool across platforms. Read the announcement here. |
03/21/2024 06:04 AM
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"
03/21/2024 07:49 PM
Is it working from postman / SOAP UI
03/22/2024 09:35 AM
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?
03/24/2024 07:39 PM
Contract Mismatch: The actions specified in the SOAP message might not match the expected actions on the UKG service side.
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.