Try this instead,
public async Task<HttpResponseMessage> PostXMLFile(XElement xElement) {
Whether you user the above signature or,
public HttpResponseMessage PostXMLFile(XElement xElement) {
the client will see exactly the same response. Use the first signature when you need to make an async request within your action method.