Having discovered that Services just can't handle parsing XML correctly (attributes), and that altering the parser list to call simplexml doesn't, in the end, seem to call it, I'm trying my luck with restws, given that it seems to be the direction to head in anyway.
I have configured the path in my module as such:
function mymodule_restws_resource_info() {
return array(
'mymodule_person' => array(
'label' => t('Person'),
'class' => 'PersonResourceController',
'menu_path' => 'api/person',
),
);
}
That part seems to work, because when I send a POST transaction via Advanced Rest Client in chrome with a payload to mydomain.com/api/person, I get a 200 response (I get a 404 if I change the request url).
That said, in the module I also throw an error if attempting an update, delete or read. When I send any of those, I still get a 200 response.
Any of GET, POST, PUT or UPDATE gives me
Response does not contain any data
including the create method in the resource controller, so it seems my POST transaction to is not firing the create method.
Do I need to do something to invoke it beyond hitting the api/person with a post payload?