HTTP adapter request and response for the PATCH action
The PATCH action for the HTTP adapter sends updates to the specified URL.
When you use a context item as an input for an adapter request, you must enclose the adapter request in the<request-data> elements. However, when you create a static request, <request-data> is not required and the adapter request starts with the <httpadapterrequest> element.
Elements of an HTTP adapter request with a Patch action
Element | Description | Required |
---|---|---|
<adapter-name> | Specifies the name of the adapter. | No |
<URL> | Specifies the URL for the target page | Yes |
<use-ssl-certificate> | Determines whether to establish a secure connection. | No |
<install-certificate> | Determines whether to install certificates. If true, the security certificates are installed automatically (a common practice). If false, the user must manually export the security certificate from the specified target server and manually import it to the cacerts file on a local peer. | No |
<allow-unsigned-certificate> | Specifies whether to allow unsigned certificates from trusted zones. | No |
<passphrase> | Specifies the Java Standard Trust Keystore passphrase Verify the cacerts passphrase using the following command in UNIX or Linux: $ /opt/bmc/ao/cdp/jvm/bin/keytool -list -keystore | No |
<file-path> | Specifies the path of the file to be sent to the URL | No |
<file-content-type> | Specifies the content type of the file to be uploaded | Conditional; used if the adapter request contains a <file-path> element |
<data-format> | Indicates the data type for the adapter response | No |
<data> | Contains the data to be posted JSON sample for specifying the <body> element { --- formatted json for patch --- } Sample format for specifying <body> for a multi-part data request [ { "op": "replace", "path": "/name", "value": "David" } ] | No |
<user-name> | Specifies the user name required for basic authentication | No |
<password> | Specifies the password corresponding to the user name provided for basic authentication | No |
<character-set> | Specifies the supporting CharSet, which includes identifiers describing a series of universal characters. Note: If you do not specify the supporting character set, the adapter response is parsed based on the character set in the HTTP response header. | No |
<connection-properties> | Specifies an XML document that includes HTTP connection properties, which contains the <user-name> and <password> elements for a basic or NTLM authentication. | No |
<include-expect-header> | Specifies whether to include the expect header in the adapter request Valid values: true (default), false | No |
<user-name> | Specifies the user name required for basic or NTLM authentication specified in <http-connection-properties> | No |
<password> | Specifies the password corresponding to the user name specified in <http-connection-properties> | No |
<signature-mode> | Contains the elements that specify information about the public key (X.509 certificate) and the private key that are used for the digital signature
| No |
<keystore-file> | Specifies the path to the JKS that contains the client certificate | Conditional; required when <signature-properties mode="keystore"> |
<client-alias> | Specifies the name of the alias in the JKS that identifies the Public Key Certificate (PKC) that the web server uses to authenticate the client | Conditional; required when <signature-properties mode="keystore"> |
<key-password> | Specifies the password of the key contained in the JKS | No |
<keystore-password> | Specifies the password to the JKS | Conditional; required when <signature-properties mode="keystore"> |
<private-key-file> | Specifies the file containing the private key that is used to sign the HTTP request
| Conditional; required when <signature-properties mode="key-files"> |
<certificate-file> | Specifies the file containing the public key (X509 Certificate)
| Conditional; required when <signature-properties mode="key-files"> |
<private-key-data> | Contains an XML file specifying the private key in an Base64-encoded PEM format | Conditional; required when <signature-properties mode="key-data"> |
<certificate-data> | Contains an XML file specifying the public key (X509 Certificate) in an Base64-encoded PEM format | Conditional; required when <signature-properties mode="key-data"> |
<enable-json-conversion> | Specifies whether the adapter should treat the input data in the request and the data received in the adapter response as a JavaScript Object Notation (JSON) string
| No |
<request-timeout> | Specifies the time (in seconds) to wait when establishing a connection | No |
<krb-login-conf-path> | Specifies the path to the login.conf file For example, /etc/java.login.conf | No |
<krb-conf-path> | Specifies the path to the krb configuration file For example, /etc/krb5.confa | No |
<krb-use-subject-creds> | Specifies whether to use user credentials while obtaining a ticket. Valid values: true, false (retrieves the ticket from the kinit cache). | No |
<ignore-line-break-in-response> | Specifies whether to ignore the line breaks while generating the adapter response. If true, the line break markups are ignored and the response is returned as a single line. If false, the line break markers (if specified in the adapter response) are retained. Valid values: true (default), false | No |
The following figure shows a sample adapter request.
<httpAdapterRequest>
<action>http://Endpoint-URL</action>
<http-connection-properties>
<content-type>application/json</content-type>
<Authorization>New Authentication token</Authorization>
</http-connection-properties>
<data>[
{
"op": "replace",
"path": "/address",
"value": "2.2.2.2"
},
{
"op": "replace",
"path": "/name",
"value": "David"
}
]</data>
</httpAdapterRequest>
</request-data>
The following figure shows a sample adapter response.
<metadata>
<status>success</status>
</metadata>
<status-line>
<code>200</code>
<reason>OK</reason>
</status-line>
<header-lines>
<Cache-Control>no-cache, no-store, must-revalidate</Cache-Control>
<Pragma>no-cache</Pragma>
<Content-Type>application/json; charset=utf-8</Content-Type>
<Expires>-1</Expires>
<Server>Microsoft-IIS/8.5</Server>
<Set-Cookie>CAXXXX=; path=/Vault/; HttpOnly</Set-Cookie>
<Set-Cookie>mobileState=Desktop; path=/Vault/; HttpOnly</Set-Cookie>
<api-supported-versions>10.8</api-supported-versions>
<X-UA-Compatible>IE=EmulateIE8</X-UA-Compatible>
<X-XSS-Protection>1; mode=block</X-XSS-Protection>
<X-Content-Type-Options>nosniff</X-Content-Type-Options>
<X-FRAME-Options>SAMEORIGIN</X-FRAME-Options>
<Access-Control-Expose-Headers>Warning</Access-Control-Expose-Headers>
<Date>Fri, 21 Aug 2020 07:05:58 GMT</Date>
<Content-Length>326</Content-Length>
</header-lines>
<message-body>{
"id":"37_3",
"name":"David",
"address":"2.2.2.2",
"userName":"userName",
"platformId":"WinServerLocal",
"safeName":"TSOsafe",
"secretType":"password",
"platformAccountProperties":{
"LogonDomain":"1.1.1.1"
},
"secretManagement":{
"automaticManagementEnabled":true,
"lastModifiedTime":1573610221
},
"createdTime":1573644221
}</message-body>
</httpAdapterResponse>