Click HERE to see how Saviynt Intelligence is transforming the industry. |
04/12/2022 01:17 PM
Hi,
I am working on a SAP java application using SOAP connector.
The connection JSON i am using is :
{
"authentications":{
"login":{
"properties":{
"SOAP_ENDPOINT":"url",
"USERNAME":"SA_Saviynt_D",
"PASSWORD":"Password",
"REQUESTPARAMS":{
"X-Requested-With":"XMLHttpRequest",
"Content-Type" : "text/xml",
"Authorization":"Basic abc"
}
}
}
}
}
And with this i am getting a successful connection but while provisioning an account, it says service unavailable 503.
Later on i changed my connection json to :
{
"authentications":{
"login":{
"properties":{
"SOAP_ENDPOINT":"url",
"USERNAME":"SA_Saviynt_D",
"PASSWORD":"pass",
"REQUESTPARAMS":{
"X-Requested-With":"XMLHttpRequest",
"SOAPAction": "urn:sap-com:document:sap:soap:functions:mc-style:GRAC_USER_ACCES_WS:GracIdmUsrAccsReqServicesRequest",
"Content-Type" : "text/xml",
"Authorization":"Basic abc"
}
}
}
}
}
Now, while saving the connection itself i am getting service unavailable 503.
Any idea on how this can be resolved?
Regards,
Shubham
Solved! Go to Solution.
04/12/2022 02:52 PM
Hi Shubham,
Based on the error, it seems that the SMPL services isn't enabled for the endpoint.
Perhaps, you can reach out to your system administrator or read the product documentations on how that is to be done.
Regards,
Avinash Chhetri
04/12/2022 02:52 PM
Thank you for your response Avinash, let me check with the system admin on this.
If you have steps you any way to check if the SPML is enabled or not, please do let me know.
Regards,
Shubham
04/12/2022 02:52 PM
Hi Avinash,
I just checked with client, they said the SMPL is enabled for the endpoint.
04/12/2022 02:52 PM
Hi Shubham,
Can you try from any other utility like SOAPUI/Postman and see if you are able to provision ?
The logs you sent said service not available so there's not much from a Saviynt perspective, in my opinion.
Regards,
Avinash Chhetri
04/12/2022 02:52 PM
Right, thanks for the information.
We tried doing this from the Postman but with postman it is not even taking the body. Just checking whether it is able to reach to the endpoint and able to authenticate. And giving us 200 response ok.
Even if we give any arbitrary value, it is still giving the same.
Regards,
Shubham
04/12/2022 02:52 PM
Hi Avinash,
We are able to figure that 503 error out.
Now, we are facing a new issue:
Create account json :
[
{
"CONNECTION" : "login",
"REQUESTXML" : "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"> <SOAP-ENV:Header></SOAP-ENV:Header> <SOAP-ENV:Body> <spml:addRequest requestID='add-1' xmlns='urn:oasis:names:tc:SPML:1:0' xmlns:spml='urn:oasis:names:tc:SPML:1:0' xmlns:dsml='urn:oasis:names:tc:DSML:2:0:core'> <spml:attributes> <spml:attr name='objectclass'> <dsml:value>sapuser</dsml:value> </spml:attr> <spml:attr name='logonname'> <dsml:value>${user.systemUserName}</dsml:value> </spml:attr> <spml:attr name='lastname'> <dsml:value>${user.lastname}</dsml:value> </spml:attr> <spml:attr name='firstname'> <dsml:value>${user.firstname}</dsml:value> </spml:attr> <spml:attr name='email'> <dsml:value>${user.customproperty50}</dsml:value> </spml:attr> <spml:attr name='validto'> <dsml:value>20251231000000Z</dsml:value> </spml:attr> <spml:attr name='validfrom'> <dsml:value>${new java.text.SimpleDateFormat('yyyyMMddHHmmss').format(new Date())}Z</dsml:value> </spml:attr> <spml:attr name='password'> <dsml:value>${randomPassword}</dsml:value> </spml:attr> </spml:attributes> </spml:addRequest> </SOAP-ENV:Body> </SOAP-ENV:Envelope>",
"RESPONSEMAPPING":{
"ADDUSERRESPONSE" : "Body.addResponse.identifier.id.nodeexists"
},
"SUCCESSCRITERIA" : {"ADDUSERRESPONSE": "1"}
}
]
Now as we run the provisioning job, we get the below response :
And the account is not getting created in the target system.
Not sure what is the error, as i am not able to see anything here.
While we run the same thing in postman, we get only 200 response ok, nothing else, even though we try to create a new account.
Do you remember having a same behavior when you tried using postman? or you were getting something in response for the provisioning.
Please do let me know if you need more information.
Regards,
Shubham
04/12/2022 02:52 PM
And after adding the success Criteria : it gives the below error
We are getting only this error, nothing else.
Please let us know if you have any insights on this.
Regards,
Shubham
04/12/2022 02:52 PM
Hi Shubham,
Firstly could you let us know how you resolved the 503 error on the server side ? This is for the beneift of the community as we try to build a shared knowlegde base together.
The success criteria is not something that Saviynt controls. It's what the application send when it has successfully executed it. Mapping the response for Success criteria is application specific and you need to provide what is the status/message your application sends to Saviynt for it to know it has successfully completed the request.
Regards,
Avinash Chhetri
04/12/2022 02:52 PM
Hi Avinash,
503 error was at the target side(connectivity issue).
They gave us a different application details and it kindof worked.
For the Success Criteria, in the JSON id we remove the successcriteria, the task is getting completed but not getting anything at the target system.
If you could look at the log snippet which have been posted above, it Says "SOAP Action Null"(Is it like the body is going out as null)
Any idea what could be the issue? as the target is also not getting anything in the logs.
Regards,
Shubham
04/12/2022 02:52 PM
Hi Shubham,
I'm not sure. looks like something specific to your environment.
The SOAP xml that I had provided to you is working at a couple of locations that I know of. Some call it SAP Portal Apps, some SAP Process Orchestration and some SAP Single Sign On.
As far as I know, all of these use the same underlying SPML services.
The best way forward would be to use SOAPUI and create an account in the target system successfully and vaidate what responses are sent back.
Map these responses accordingly in Saviynt.
Regards,
Avinash Chhetri
04/12/2022 02:52 PM
We were getting 503 because of Http URL.
THe request couldnt be handled with http so it was giving us 503 error.
Regards,
Shubham