Seeing there are two different suggested values for the "Content-Type" header, I would like to add a small correction to the reply above: the Content-Type should always be set to "application/json" in the context of that reply.
From another perspective, a relatively less known way to pass a value to a ThingWorx service is to specify the name of the input parameter as an URL parameter. The advantage of doing it in this way is you can simply post the value itself without needing to wrap it in a ThingWorx-specific JSON structure.
This is useful if whatever service calls ThingWorx does not have the capability to create that ThingWorx-specific JSON structure (as it's the case with almost all external systems that push data via REST to ThingWorx if you do not want to customize them)
URL: /Thingworx/Things/TestThing/Services/aa?postParameter=XMLParam
Method: POST
Content-Type: text/xml (as per this Help Center entry)
Body: <order id="i153420aaaadsd3"> <part id="p343-3456" quantity="2"/></order>
Note that Accept only formats the reply that ThingWorx will send to the calling system (you can omit and you'll get an HTML-formatted response).