The typical way to extend map services is to implement an SOE. Is that what you have done?
If you implement an SOE then you have to play by ESRI's rules, e.g. GET and POST only.
If you implemented an custom web service then you can do whatever you want.
I assume that you have not implemented an SOE and have a custom web service which calls ArcGIS Server (using SOAP probably) when needed. In this case you can expose any HTTP verb that you want, take any argument type you support, etc. What you cannot do is to change the underlying ArcGIS Server APIs. What you need to do is to reformat/translate the request to that which ArcGIS Server supports/expects.