You get
E/WebService(500): responseBody = Missing parameter: UserID.
while you try
Log.e(TAG, "responseBody = " + responseBody);
DocObjModParser dp = new DocObjModParser(context);
serviceStatus = dp.getPostTransactionResponseCode(responseBody); // <== this fails!
No surprise, DocObjModParser cannot parse the response string "Missing parameter: UserID."
The response suggests adding the user id to the http query.
I'd suggest printing the httppost and trying to perform it via, at first, a browser (it may give you a hint immediately), and, at second, via curl
, a command-line utility available in Linux or Cygwin (not sure about plain Windows).
Another suggestion is to compare the printed httppost with a request that works. Who knows, maybe the script is sensitive to the order of parameters or some string contains characters that should be URL-encoded.
UPD: the problem may be with the headers
curl -I https://rr3test.carefree-app.co.uk/roadrunner.asmx/UpdateCallTest
HTTP/1.0 200 Connection established
HTTP/1.1 500 Internal Server Error
Connection: Keep-Alive
Content-Length: 3026
Date: Tue, 18 Feb 2014 11:54:29 GMT
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
Cache-Control: private
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
UPD2:
$ curl -I -X GET -H "Accept: text/javascript, text/html, application/xml, */*" https://rr3test.carefree-app.co.uk/roadrunner.asmx/UpdateCallTest?UserID=asd
HTTP/1.0 200 Connection established
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 95
Date: Tue, 18 Feb 2014 12:00:22 GMT
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/7.5
Cache-Control: private, max-age=0
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
$ curl --data "UserID=asd" -H "Accept: text/javascript, text/html, application/xml, */*" https://rr3test.carefree-app.co.uk/roadrunner.asmx/UpdateCallTest
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">UserID=asd</string>