Site Tools


guides:ws_payloads_delete_payload

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
guides:ws_payloads_delete_payload [2020/08/24 00:54] brett.zamoraguides:ws_payloads_delete_payload [2020/08/24 23:41] (current) brett.zamora
Line 80: Line 80:
  
 ---- ----
 +
 +
 +**Comment 1:**
 +
 +Following is a C# / .NET sample code snippet that shows how to call the web services associated with deleting a payload.
 +
 +The payloads:delete_payload web service is used as part of the retrieve payload process flow.
 +
 +Payloads that are 'Retrieved' must be locked before they can be retrieved. If the retrieval is successful and any validation requirements are satisfied, then the remote payload can be deleted with the payloads:delete_payload web service, otherwise the payload can be unlocked using the unlock operation as documented in the  [[guides:ws_payloads_lock_unlock_finalize|payloads:lock_unlock_finalize_payload]] documentation.
 +
 +
 +<code C#>
 +private bool DeleteRemoteFile(string strRepositoryType, string strFileName)
 +{
 +    tbMessageLine.Text = "Deleting remote file " + strFileName;
 +
 +    bool rc = false;
 +
 +    RestClient client = null;
 +    RestRequest request = null;
 +    IRestResponse response = null;
 +
 +    string strURL = "https://apex-prd.certna.org/APEX/Service/APEXPublicServer.svc/user/login";
 +
 +    // Password has to be hashed.
 +    // New convention uses a Salt value from the user record
 +    // See the Login web service for more detail
 +
 +    string strSalt = GetSalt(tbUserName.Text);
 +    string strPassword = tbPassword.Password.ToString();
 +
 +    string strHashedPassword = HashPassword(strPassword, strSalt);
 +
 +    string strParms = "{\n\t\"user_name\" : \"";
 +    strParms += tbUserName.Text;
 +    strParms += "\",\n\t\"password\" : \"";
 +    strParms += strHashedPassword;
 +    strParms += "\"\n}";
 +
 +    client = new RestClient(strURL);
 +    request = new RestRequest(Method.POST);
 +
 +    request.AddHeader("Cache-Control", "no-cache");
 +    request.AddHeader("Content-Type", "application/json");
 +
 +    request.AddParameter("Login", strParms, ParameterType.RequestBody);
 +    response = client.Execute(request);
 +
 +    if (response.IsSuccessful)
 +    {
 +        var jsonResult1 = JsonConvert.DeserializeObject<dynamic>(response.Content);
 +        string token = jsonResult1.access_token;
 +
 +        strURL = null;
 +        client = null;
 +        request = null;
 +        response = null;
 +        
 +        strURL = "https://apex-prd.certna.org/APEX/Service/APEXPublicServer.svc/payloads/" + strRepositoryType + "/" + strFileName; 
 +
 +        client = new RestClient(strURL);
 +        request = new RestRequest(Method.DELETE);
 +
 +        request.AddHeader("Cache-Control", "no-cache");
 +        request.AddHeader("access_token", token);
 +        response = client.Execute(request);
 +
 +        if (response.IsSuccessful)
 +        {
 +            tbMessageLine.Text = "Remote file " + strFileName + " successfully retrieved. Remote file deleted.";
 +            rc = true;
 +        }
 +        else
 +        {
 +            var jsonResult2 = JsonConvert.DeserializeObject<dynamic>(response.Content);
 +            string strMessage = jsonResult2.Exception.Message;
 +            tbMessageLine.Text = strMessage;
 +        }
 +    }
 +    else
 +    {
 +        var jsonResult2 = JsonConvert.DeserializeObject<dynamic>(response.Content);
 +        tbMessageLine.Text = jsonResult2.ToString();
 +    }
 +    return (rc);
 +}
 +</code>
 +
 +
 +**Comment 2:**
 +
 +A nice utility for experimenting with web service calls is POSTMAN. You can download a free version of POSTMAN from the following URL: https://www.getpostman.com/apps
 +
 +
 +
  
guides/ws_payloads_delete_payload.1598230464.txt.gz · Last modified: by brett.zamora