Layer 7 API Management

Expand all | Collapse all

IDM Operation (Replace HTTP method Patch with Post)

Jump to Best Answer
  • 1.  IDM Operation (Replace HTTP method Patch with Post)

    Posted 04-08-2016 06:21 AM

    We are currently running CA IDM Suite 12.7 with layer 7 plugin for SCIM complaint operations. The layer 7 version is 8.1.1 which only support (GET, PUT, POST, OPTIONS,HEAD) so during a  Modify operation a PATCH operation  is triggered which layer 7 blocks.

     

    Is there a way where I can change the HTTP request type from Patch to POST operation.

     

    Please can you guide me on how this can be achieved.

     

    Thank you.



  • 2.  Re: IDM Operation (Replace HTTP method Patch with Post)
    Best Answer

    Posted 04-17-2016 10:04 PM

    Hi,

    You may try creating a message-received global policy to compare the HTTP method, and replace it to POST if it's PATCH(in line 7, specify POST in "HTTP Method" field. )

    It will call the service twice, one for PATCH(failed), another for POST, so you need the line 8 to return the response for POST (check the "Send Response Immediately" option).

     

     

    It will be better to upgrade the gateway.

     

    Regards,

    Mark



  • 3.  Re: IDM Operation (Replace HTTP method Patch with Post)

    Posted 05-10-2016 05:44 AM

    Hi Zhijun, thank you for the reply,  i manage to get this resolved. It was the SCIM ServiceProviderConfigs file  that is required by the application

     

    Sample URL : https://<domainname>/path/ServiceProviderConfig

     

    {

      "schemas": ["urn:scim:schemas:core:1.0"],

      "documentationUrl":"http://example.com/help/scim.html",

      "patch": {

      "supported":false

      },

      "bulk": {

      "supported":false,

      "maxOperations":1000,

      "maxPayloadSize":1048576

      },

      "filter": {

      "supported":true,

      "maxResults": 200

      },

      "changePassword" : {

      "supported":false

      },

      "sort": {

      "supported":false

      },

      "etag": {

      "supported":false

      },

      "xmlDataFormat": {

      "supported":false

      },

      "authenticationSchemes": [

      {

      "name": "HTTP Basic",

      "description": "Authentication Scheme using the Http Basic Standard",

      "specUrl":"http://www.ietf.org/rfc/rfc2617.txt",

      "documentationUrl":"http://example.com/help/httpBasic.html",

      "type":"httpbasic"

      }

      ]

    }

     

     

    I just had to set the patch option to false and everything work as either POST(for new records) or PUT(for modify records)



  • 4.  RE: Re: IDM Operation (Replace HTTP method Patch with Post)

    Posted 22 days ago
    Hi There,
    Just along this lines,am stuck at place the CA IDM never trigger the patch operation to GW policy.It complains with the following error in the CA IDM scim log, MODIFY operation was skipped  as a result the call didn't reach to gateway. See below log extracted for your reference,i couldn't find any thing beyond this in the log.



    2019-08-26 14:34:12,997 82920686 [ApacheDS Worker-thread-69] Spirng_endPointType_scim_custom_spring_endPoint_sharath (AssocAttributeOpProcessorProxy.java:192) DEBUG - MODIFY:Find assoc related modification items in: [email]
    2019-08-26 14:34:12,997 82920686 [ApacheDS Worker-thread-69] Spirng_endPointType_scim_custom_spring_endPoint_sharath (AssocAttributeOpProcessorProxy.java:297) DEBUG - MODIFY:No attributes suitable for associative processor(s) found
    2019-08-26 14:34:12,997 82920686 [ApacheDS Worker-thread-69] Spirng_endPointType_scim_custom_spring_endPoint_sharath (SCIMAttributeStyleOpProcessor.java:480) DEBUG - Modifying 786987 of objectClass User
    2019-08-26 14:34:12,997 82920686 [ApacheDS Worker-thread-69] Spirng_endPointType_scim_custom_spring_endPoint_sharath (SCIMAttributeStyleOpProcessor.java:489) DEBUG - Using HTTP PATCH method for object modification
    2019-08-26 14:34:12,997 82920686 [ApacheDS Worker-thread-69] Spirng_endPointType_scim_custom_spring_endPoint_sharath (SCIMAttributeStyleOpProcessor.java:887) DEBUG - Lookup 786987 of objectClass User
    2019-08-26 14:34:13,013 82920702 [ApacheDS Worker-thread-69] Spirng_endPointType_scim_custom_spring_endPoint_sharath (AssocAttributeOpProcessorProxy.java:392) ERROR - class com.ca.jcs.scim.SCIMMetaConnector: scim_custom_spring_endPoint_sharath [eTDYNDirectoryName=scim_custom_spring_endPoint_sharath,eTNamespaceName=Spirng_endPointType,dc=im,dc=etasa]: class com.ca.jcs.assoc.AssocAttributeOpProcessorProxy: failed call on public abstract void com.ca.jcs.processor.OpProcessor.doModify(com.ca.jcs.ObjectInfo,javax.naming.directory.ModificationItem[]) throws javax.naming.NamingException MODIFY operation was skipped