I have a cURL command that works fine, for both enable login and disable login against my primary domain GroupWise admin service. Both look like this:

curl -k --user user:password -X PUT https://server:9710/gwadmin-service/domains/DOM/postoffices/PO/users/TheUser -H "Content-Type: application/json" --data "{\"loginDisabled\": \"true\"}"
curl -k --user user:password -X PUT https://server:9710/gwadmin-service/domains/DOM/postoffices/PO/users/TheUser -H "Content-Type: application/json" --data "{\"loginDisabled\": \"false\"}"

Both work, and the only difference is that last parameter in the --data piece.

I have a Perl script, that works fine for enable login, but fails disable login. Of course, I'm using the same user ID and password, server, and self-signed certificate ignore parameters for both tries.

When I run the code to enable login, I get this:

Object ID: 'USER.DOM.PO.TheUser'
URL: '/gwadmin-service/domains/DOM/postoffices/PO/users/TheUser'
JSON: '{"loginDisabled":false}'
REST client response code: 200

But when I run the code to disable login, I get this:

Object ID: 'USER.DOM.PO.TheUser'
URL: '/gwadmin-service/domains/DOM/postoffices/PO/users/TheUser'
JSON: '{"loginDisabled":true}'
REST client response code: 405

If I mangle the URL the tiniest bit, I get a 404 error - not found. So I think that my disable login code is making it to the admin service; it is just running into a disallowed / forbidden action.

I just don't know why the cURL version works, but the Perl version is forbidden, for the login disabled = true action.

Nor do I know why the cURL version works, and the Perl version works, for the login disabled = false action.

GroupWise Agent Build Version 14.2.3 - 129832 on the server, if it helps.

Any suggestions on how to troubleshoot this are appreciated.