Making API Requests from Shell or Command Line

This article has been copied and reformatted from the below website:


  • Scope of this article is to describe how to make a SOAP call to an instance using the CURL command. This will help troubleshooting customer related issues when using the SOAP API.

Step 1:

  • Create the SOAP Envelope that contains the request that has to be sent
  • Note: The soap request parameters depend on the parameters that the WSDL expose.
<soapenv:Envelope xmlns:soapenv="" xmlns:inc="">
  • Save it in a file as .xml (example test.xml)

Step 2:

  • Create the CURL command that you will input in the terminal.
    • curl –username:password –header “Content-Type: text/xml;charset=UTF-8” –header “SOAPAction: ACTION_YOU_WANT_TO_CALL” –data @FILE_NAME URL_OF_THE_SOAP_WEB_SERVICE_ENDPOINT
  • Example 1 – If you are consuming the WSDL from an Instance
  • Example 2 – If you are consuming the WSDL from a Node
  • Execute the command in Terminal or command prompt.

Troubleshooting – Tips

  • If ever you see that you are not receiving the expected output, then add the verbose parameter to the curl command and this shall give you more information.
  • Example of the curl command with verbose:

Troubleshooting – Possible Error 1

  • Error – The file containing the request is not readable
<SOAP-ENV:Envelope xmlns:SOAP-ENV="">
<faultstring>Unable to parse SOAP document</faultstring>
<detail>Error completing SOAP request</detail>
  • Solution – Check the content and format of the file that contains the SOAP Request

Troubleshooting – Possible Error 2:

  • Error – The credential of the user specified is wrong or user is not authorized to access the WSDL
< HTTP/1.1 401 Unauthorized
< Set-Cookie: JSESSIONID=5C48D05E518DC37DA6502440F2FD8361; Path=/; HttpOnly;Secure
* Authentication problem. Ignoring this.
  • Solution : Check the user credential and if there is any ACL blocking the user from accessing the record

Troubleshooting – Possible Error 3:

  • Error – The WSDL is incorrect/wrong
* Could not resolve host: <URL_OF_THE_SOAP_WEB_SERVICE_ENDPOINT>
* Closing connection 0
curl: (6) Could not resolve host: URL_OF_THE_SOAP_WEB_SERVICE_ENDPOINT
  • Solution: Check if the correct URL is specified in the curl command.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s