http://www.service-repository.com/ Copy the "Message Structure" (under Interface, Operations, Input) or "XML" (under the "Call it!" operation). URL is the location for the service under Endpoints. SoapUI app graphically generates SOAP envelopes. http://sourceforge.net/projects/soapui/files/latest/download http://www.soapui.org/getting-started/your-first-soapui-project.html Fetch WSDL: curl -O http://ws.cdyne.com/ip2geo/ip2geo.asmx'?wsdl' The SOAP Action requird for v 1.1. header is specified in there. V 1.1: curl -o ip2go-response1.1.xml -H 'Content-Type: text/xml; charset=utf-8' -H SOAPAction:http://ws.cdyne.com/ResolveIP -d@ip2go-request1.1.xml http://ws.cdyne.com/ip2geo/ip2geo.asmx V 1.2: curl -o ip2go-response1.2.xml -H 'Content-Type: application/soap+xml; charset=utf-8' -d@ip2go-request1.2.xml http://ws.cdyne.com/ip2geo/ip2geo.asmx Examples from http://stackoverflow.com/questions/8167210/how-to-test-web-service-using-command-line-curl : curl -X GET --basic --user username:password \ https://www.example.com/mobile/resource curl -X DELETE --basic --user username:password \ https://www.example.com/mobile/resource curl -X PUT --basic --user username:password -d 'param1_name=param1_value' \ -d 'param2_name=param2_value' https://www.example.com/mobile/resource POSTing a file and additional parameter curl -X POST -F 'param_name=@/filepath/filename' \ -F 'extra_param_name=extra_param_value' --basic --user username:password \ https://www.example.com/mobile/resource + REST: $ curl https://api.twitter.com/1/help/configuration.xml | xmllint --format - $ curl https://api.twitter.com/1/help/configuration.json | python -mjson.tool Tested on Ubuntu 11.0.4/11.10. Another issue is the desired content type. Twitter uses .xml/.json extension, but more idiomatic REST would require Accept header: $ curl -H "Accept: application/json"