Axis2 REST guide contains following text
"if the content type is text/xml and if the SOAPAction Header is missing, then the message is treated as a RESTful Message, if not it is treated as a usual SOAP Message."
content type - text/xml + SOAPAction present => SOAP 1.1
content type - text/xml + NO SOAPAction present => POX (REST)
In contrast Axis2 never implemented above logic and always consider text/xml as SOAP 1.1. This issue can be solved by adding a condition to TransportUtils#getMessageFormatter() so that it will check "SOAPAction" header in addition to "text/xml" content type.
Before I implement above solution I like see any objection from users and developers.